Use TryAdd to add services

This commit is contained in:
Ajay Bhargav Baaskaran 2017-03-15 17:54:34 -07:00
parent 6a61e10a4b
commit 1ce7fc7245
1 changed files with 6 additions and 6 deletions

View File

@ -66,7 +66,7 @@ namespace Microsoft.Extensions.DependencyInjection
if (OSVersionUtil.IsWindows()) if (OSVersionUtil.IsWindows())
{ {
services.AddSingleton<RegistryPolicyResolver>(); services.TryAddSingleton<RegistryPolicyResolver>();
} }
services.TryAddEnumerable( services.TryAddEnumerable(
@ -74,13 +74,13 @@ namespace Microsoft.Extensions.DependencyInjection
services.TryAddEnumerable( services.TryAddEnumerable(
ServiceDescriptor.Transient<IConfigureOptions<DataProtectionOptions>, DataProtectionOptionsSetup>()); ServiceDescriptor.Transient<IConfigureOptions<DataProtectionOptions>, DataProtectionOptionsSetup>());
services.AddSingleton<IKeyManager, XmlKeyManager>(); services.TryAddSingleton<IKeyManager, XmlKeyManager>();
// Internal services // Internal services
services.AddSingleton<IDefaultKeyResolver, DefaultKeyResolver>(); services.TryAddSingleton<IDefaultKeyResolver, DefaultKeyResolver>();
services.AddSingleton<IKeyRingProvider, KeyRingProvider>(); services.TryAddSingleton<IKeyRingProvider, KeyRingProvider>();
services.AddSingleton<IDataProtectionProvider>(s => services.TryAddSingleton<IDataProtectionProvider>(s =>
{ {
var dpOptions = s.GetRequiredService<IOptions<DataProtectionOptions>>(); var dpOptions = s.GetRequiredService<IOptions<DataProtectionOptions>>();
var keyRingProvider = s.GetRequiredService<IKeyRingProvider>(); var keyRingProvider = s.GetRequiredService<IKeyRingProvider>();
@ -99,7 +99,7 @@ namespace Microsoft.Extensions.DependencyInjection
}); });
#if !NETSTANDARD1_3 // [[ISSUE60]] Remove this #ifdef when Core CLR gets support for EncryptedXml #if !NETSTANDARD1_3 // [[ISSUE60]] Remove this #ifdef when Core CLR gets support for EncryptedXml
services.AddSingleton<ICertificateResolver, CertificateResolver>(); services.TryAddSingleton<ICertificateResolver, CertificateResolver>();
#endif #endif
} }
} }