在startup中打印asp.net core中ApplicationBuilder注册的公共服务。
public void ConfigureServices(IServiceCollection services)
{
var provider = services.BuildServiceProvider();
foreach(var service in services)
{
var serviceTypename = getName(service.ServiceType);
var implementationRype = service.ImplementationType
?? service.ImplementationInstance?.GetType()
?? service.ImplementationFactory?.Invoke(provider)?.GetType();
if (implementationRype != null)
{
Console.WriteLine($"{service.Lifetime,-15} {getName(service.ServiceType),-50}" +
$"{getName(implementationRype)}");
}
}
services.AddControllersWithViews();
}
控制台
Singleton IHostingEnvironment HostingEnvironment
Singleton IHostEnvironment HostingEnvironment
Singleton HostBuilderContext HostBuilderContext
Singleton IConfiguration ConfigurationRoot
Singleton IApplicationLifetime ApplicationLifetime
Singleton IHostApplicationLifetime ApplicationLifetime
Singleton IHostLifetime ConsoleLifetime
Singleton IHost Host
Singleton IOptions<TOptions> OptionsManager<TOptions>
Scoped IOptionsSnapshot<TOptions> OptionsManager<TOptions>
Singleton IOptionsMonitor<TOptions> OptionsMonitor<TOptions>
Transient IOptionsFactory<TOptions> OptionsFactory<TOptions>
Singleton IOptionsMonitorCache<TOptions> OptionsCache<TOptions>
Singleton ILoggerFactory LoggerFactory
Singleton ILogger<TCategoryName> Logger<T>
Singleton IConfigureOptions<LoggerFilterOptions> DefaultLoggerLevelConfigureOptions
Singleton IConfigureOptions<LoggerFilterOptions> ConfigureNamedOptions<LoggerFilterOptions>
Singleton ILoggerProviderConfigurationFactory LoggerProviderConfigurationFactory
Singleton ILoggerProviderConfiguration<T> LoggerProviderConfiguration<T>
Singleton IConfigureOptions<LoggerFilterOptions> LoggerFilterConfigureOptions
Singleton IOptionsChangeTokenSource<LoggerFilterOptions> ConfigurationChangeTokenSource<LoggerFilterOptions>
Singleton LoggingConfiguration LoggingConfiguration
Singleton ILoggerProvider ConsoleLoggerProvider
Singleton IConfigureOptions<ConsoleLoggerOptions> LoggerProviderConfigureOptions<ConsoleLoggerOptions,ConsoleLoggerProvider>
Singleton IOptionsChangeTokenSource<ConsoleLoggerOptions> LoggerProviderOptionsChangeTokenSource<ConsoleLoggerOptions,ConsoleLoggerProvider>
Singleton ILoggerProvider DebugLoggerProvider
Singleton LoggingEventSource LoggingEventSource
Singleton ILoggerProvider EventSourceLoggerProvider
Singleton IConfigureOptions<LoggerFilterOptions> EventLogFiltersConfigureOptions
Singleton IOptionsChangeTokenSource<LoggerFilterOptions> EventLogFiltersConfigureOptionsChangeSource
Singleton ILoggerProvider EventLogLoggerProvider
Singleton IWebHostEnvironment HostingEnvironment
Singleton IHostingEnvironment HostingEnvironment
Singleton IApplicationLifetime GenericWebHostApplicationLifetime
Singleton IConfigureOptions<GenericWebHostServiceOptions> ConfigureNamedOptions<GenericWebHostServiceOptions>
Singleton DiagnosticListener DiagnosticListener
Singleton DiagnosticSource DiagnosticListener
Singleton IHttpContextFactory DefaultHttpContextFactory
Scoped IMiddlewareFactory MiddlewareFactory
Singleton IApplicationBuilderFactory ApplicationBuilderFactory
Singleton IConnectionListenerFactory SocketTransportFactory
Transient IConfigureOptions<KestrelServerOptions> KestrelServerOptionsSetup
Singleton IServer KestrelServer
Singleton IConfigureOptions<KestrelServerOptions> ConfigureNamedOptions<KestrelServerOptions>
Singleton IPostConfigureOptions<HostFilteringOptions> PostConfigureOptions<HostFilteringOptions>
Singleton IOptionsChangeTokenSource<HostFilteringOptions> ConfigurationChangeTokenSource<HostFilteringOptions>
Transient IStartupFilter HostFilteringStartupFilter
Transient IInlineConstraintResolver DefaultInlineConstraintResolver
Transient ObjectPoolProvider DefaultObjectPoolProvider
Singleton ObjectPool<UriBuildingContext> DefaultObjectPool<UriBuildingContext>
Transient TreeRouteBuilder TreeRouteBuilder
Singleton RoutingMarkerService RoutingMarkerService
Transient IConfigureOptions<RouteOptions> ConfigureRouteOptions
Singleton EndpointDataSource CompositeEndpointDataSource
Singleton ParameterPolicyFactory DefaultParameterPolicyFactory
Singleton MatcherFactory DfaMatcherFactory
Transient DfaMatcherBuilder DfaMatcherBuilder
Singleton DfaGraphWriter DfaGraphWriter
Transient Lifetime Lifetime
Singleton EndpointMetadataComparer EndpointMetadataComparer
Singleton LinkGenerator DefaultLinkGenerator
Singleton IEndpointAddressScheme<String> EndpointNameAddressScheme
Singleton IEndpointAddressScheme<RouteValuesAddress> RouteValuesAddressScheme
Singleton LinkParser DefaultLinkParser
Singleton EndpointSelector DefaultEndpointSelector
Singleton MatcherPolicy HttpMethodMatcherPolicy
Singleton MatcherPolicy HostMatcherPolicy
Singleton TemplateBinderFactory DefaultTemplateBinderFactory
Singleton RoutePatternTransformer DefaultRoutePatternTransformer