本文整理汇总了C#中ServiceCollection.TryAddSingleton方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceCollection.TryAddSingleton方法的具体用法?C# ServiceCollection.TryAddSingleton怎么用?C# ServiceCollection.TryAddSingleton使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceCollection
的用法示例。
在下文中一共展示了ServiceCollection.TryAddSingleton方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildHostingServices
private IServiceCollection BuildHostingServices()
{
// Apply the configuration settings
var configuration = _config ?? WebApplicationConfiguration.GetDefault();
var mergedConfiguration = new ConfigurationBuilder()
.Add(new IncludedConfigurationProvider(configuration))
.AddInMemoryCollection(_settings)
.Build();
_config = mergedConfiguration;
_options = new WebApplicationOptions(_config);
var services = new ServiceCollection();
services.AddSingleton(_hostingEnvironment);
services.AddSingleton(_loggerFactory);
services.AddTransient<IStartupLoader, StartupLoader>();
services.AddTransient<IServerLoader, ServerLoader>();
services.AddTransient<IApplicationBuilderFactory, ApplicationBuilderFactory>();
services.AddTransient<IHttpContextFactory, HttpContextFactory>();
services.AddLogging();
services.AddOptions();
var diagnosticSource = new DiagnosticListener("Microsoft.AspNet");
services.AddSingleton<DiagnosticSource>(diagnosticSource);
services.AddSingleton<DiagnosticListener>(diagnosticSource);
// Conjure up a RequestServices
services.AddTransient<IStartupFilter, AutoRequestServicesStartupFilter>();
var defaultPlatformServices = PlatformServices.Default;
if (defaultPlatformServices != null)
{
if (defaultPlatformServices.Application != null)
{
var appEnv = defaultPlatformServices.Application;
if (!string.IsNullOrEmpty(_options.ApplicationBasePath))
{
appEnv = new WrappedApplicationEnvironment(_options.ApplicationBasePath, appEnv);
}
services.TryAddSingleton(appEnv);
}
if (defaultPlatformServices.Runtime != null)
{
services.TryAddSingleton(defaultPlatformServices.Runtime);
}
}
if (_configureServices != null)
{
_configureServices(services);
}
return services;
}
示例2: GetInitialServiceCollection
private static IServiceCollection GetInitialServiceCollection()
{
var serviceCollection = new ServiceCollection();
var diagnosticSource = new DiagnosticListener(TestFrameworkName);
// default server services
serviceCollection.TryAddSingleton(Environment);
serviceCollection.TryAddSingleton<ILoggerFactory>(MockedLoggerFactory.Create());
serviceCollection.AddLogging();
serviceCollection.AddTransient<IApplicationBuilderFactory, ApplicationBuilderFactory>();
serviceCollection.TryAddTransient<IHttpContextFactory, HttpContextFactory>();
serviceCollection.AddOptions();
serviceCollection.TryAddSingleton<DiagnosticSource>(diagnosticSource);
serviceCollection.TryAddSingleton(diagnosticSource);
serviceCollection.AddTransient<IStartupFilter, AutoRequestServicesStartupFilter>();
serviceCollection.AddSingleton<ObjectPoolProvider, DefaultObjectPoolProvider>();
// testing framework services
serviceCollection.TryAddSingleton<IValidControllersCache, ValidControllersCache>();
serviceCollection.TryAddSingleton<IControllerActionDescriptorCache, ControllerActionDescriptorCache>();
return serviceCollection;
}