diff --git a/src/Microsoft.AspNetCore.DataProtection/DataProtectionServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.DataProtection/DataProtectionServiceCollectionExtensions.cs index 95e8b2cc7e..3fcaee8f69 100644 --- a/src/Microsoft.AspNetCore.DataProtection/DataProtectionServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.DataProtection/DataProtectionServiceCollectionExtensions.cs @@ -66,7 +66,7 @@ namespace Microsoft.Extensions.DependencyInjection if (OSVersionUtil.IsWindows()) { - services.AddSingleton(); + services.TryAddSingleton(); } services.TryAddEnumerable( @@ -74,13 +74,13 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddEnumerable( ServiceDescriptor.Transient, DataProtectionOptionsSetup>()); - services.AddSingleton(); + services.TryAddSingleton(); // Internal services - services.AddSingleton(); - services.AddSingleton(); + services.TryAddSingleton(); + services.TryAddSingleton(); - services.AddSingleton(s => + services.TryAddSingleton(s => { var dpOptions = s.GetRequiredService>(); var keyRingProvider = s.GetRequiredService(); @@ -99,7 +99,7 @@ namespace Microsoft.Extensions.DependencyInjection }); #if !NETSTANDARD1_3 // [[ISSUE60]] Remove this #ifdef when Core CLR gets support for EncryptedXml - services.AddSingleton(); + services.TryAddSingleton(); #endif } }