Misc/obsolete redundant extension (#11838)

* Mark AddUnique<TImplementing> obsolete.

* Remove all internal usages of AddUnique<TImplementing>.
This commit is contained in:
Paul Johnson
2022-01-10 16:03:33 +00:00
committed by GitHub
parent a952d17e74
commit d9bdd8196c
8 changed files with 36 additions and 34 deletions

View File

@@ -24,6 +24,8 @@ namespace Umbraco.Extensions
services.AddUnique<TService2>(factory => (TImplementing)factory.GetRequiredService<TService1>());
}
// TODO(V11): Remove this function.
[Obsolete("This method is functionally equivalent to AddSingleton<TImplementing>() please use that instead.")]
public static void AddUnique<TImplementing>(this IServiceCollection services)
where TImplementing : class
=> services.Replace(ServiceDescriptor.Singleton<TImplementing, TImplementing>());

View File

@@ -171,7 +171,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
Services.AddSingleton<UmbracoRequestPaths>();
Services.AddUnique<InstallStatusTracker>();
Services.AddSingleton<InstallStatusTracker>();
// by default, register a noop factory
Services.AddUnique<IPublishedModelFactory, NoopPublishedModelFactory>();
@@ -179,7 +179,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
Services.AddUnique<ICultureDictionaryFactory, DefaultCultureDictionaryFactory>();
Services.AddSingleton(f => f.GetRequiredService<ICultureDictionaryFactory>().CreateDictionary());
Services.AddUnique<UriUtility>();
Services.AddSingleton<UriUtility>();
Services.AddUnique<IDashboardService, DashboardService>();
Services.AddUnique<IUserDataService, UserDataService>();
@@ -194,14 +194,14 @@ namespace Umbraco.Cms.Core.DependencyInjection
Services.AddUnique<IPublishedUrlProvider, UrlProvider>();
Services.AddUnique<ISiteDomainMapper, SiteDomainMapper>();
Services.AddUnique<HtmlLocalLinkParser>();
Services.AddUnique<HtmlImageSourceParser>();
Services.AddUnique<HtmlUrlParser>();
Services.AddSingleton<HtmlLocalLinkParser>();
Services.AddSingleton<HtmlImageSourceParser>();
Services.AddSingleton<HtmlUrlParser>();
// register properties fallback
Services.AddUnique<IPublishedValueFallback, PublishedValueFallback>();
Services.AddUnique<UmbracoFeatures>();
Services.AddSingleton<UmbracoFeatures>();
// register published router
Services.AddUnique<IPublishedRouter, PublishedRouter>();
@@ -226,13 +226,13 @@ namespace Umbraco.Cms.Core.DependencyInjection
// let's use an hybrid accessor that can fall back to a ThreadStatic context.
Services.AddUnique<IUmbracoContextAccessor, HybridUmbracoContextAccessor>();
Services.AddUnique<LegacyPasswordSecurity>();
Services.AddUnique<UserEditorAuthorizationHelper>();
Services.AddUnique<ContentPermissions>();
Services.AddUnique<MediaPermissions>();
Services.AddSingleton<LegacyPasswordSecurity>();
Services.AddSingleton<UserEditorAuthorizationHelper>();
Services.AddSingleton<ContentPermissions>();
Services.AddSingleton<MediaPermissions>();
Services.AddUnique<PropertyEditorCollection>();
Services.AddUnique<ParameterEditorCollection>();
Services.AddSingleton<PropertyEditorCollection>();
Services.AddSingleton<ParameterEditorCollection>();
// register a server registrar, by default it's the db registrar
Services.AddUnique<IServerRoleAccessor>(f =>

View File

@@ -50,7 +50,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
false));
builder.Services.AddUnique<IValueSetBuilder<IMedia>, MediaValueSetBuilder>();
builder.Services.AddUnique<IValueSetBuilder<IMember>, MemberValueSetBuilder>();
builder.Services.AddUnique<ExamineIndexRebuilder>();
builder.Services.AddSingleton<ExamineIndexRebuilder>();
builder.AddNotificationHandler<ContentCacheRefresherNotification, ContentIndexingNotificationHandler>();
builder.AddNotificationHandler<ContentTypeCacheRefresherNotification, ContentTypeIndexingNotificationHandler>();

View File

@@ -34,7 +34,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
internal static IUmbracoBuilder AddFileSystems(this IUmbracoBuilder builder)
{
// register FileSystems, which manages all filesystems
builder.Services.AddUnique<FileSystems>();
builder.Services.AddSingleton<FileSystems>();
// register the scheme for media paths
builder.Services.AddUnique<IMediaPathScheme, UniqueMediaPathScheme>();

View File

@@ -27,7 +27,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
builder.Services.AddScoped<InstallSetupStep, CompleteInstallStep>();
builder.Services.AddTransient<InstallStepCollection>();
builder.Services.AddUnique<InstallHelper>();
builder.Services.AddSingleton<InstallHelper>();
builder.Services.AddTransient<PackageMigrationRunner>();

View File

@@ -30,7 +30,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
internal static IUmbracoBuilder AddServices(this IUmbracoBuilder builder)
{
// register the service context
builder.Services.AddUnique<ServiceContext>();
builder.Services.AddSingleton<ServiceContext>();
// register the special idk map
builder.Services.AddUnique<IIdKeyMap, IdKeyMap>();
@@ -74,11 +74,11 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
builder.Services.AddUnique<IEntityXmlSerializer, EntityXmlSerializer>();
builder.Services.AddUnique<ConflictingPackageData>();
builder.Services.AddUnique<CompiledPackageXmlParser>();
builder.Services.AddSingleton<ConflictingPackageData>();
builder.Services.AddSingleton<CompiledPackageXmlParser>();
builder.Services.AddUnique(factory => CreatePackageRepository(factory, "createdPackages.config"));
builder.Services.AddUnique<ICreatedPackagesRepository, CreatedPackageSchemaRepository>();
builder.Services.AddUnique<PackageDataInstallation>();
builder.Services.AddSingleton<PackageDataInstallation>();
builder.Services.AddUnique<IPackageInstallation, PackageInstallation>();
return builder;

View File

@@ -82,12 +82,12 @@ namespace Umbraco.Extensions
{
builder.Services.AddSingleton<KeepAliveMiddleware>();
builder.Services.ConfigureOptions<ConfigureGlobalOptionsForKeepAliveMiddlware>();
builder.Services.AddUnique<ServerVariablesParser>();
builder.Services.AddUnique<InstallAreaRoutes>();
builder.Services.AddUnique<BackOfficeAreaRoutes>();
builder.Services.AddUnique<PreviewRoutes>();
builder.Services.AddSingleton<ServerVariablesParser>();
builder.Services.AddSingleton<InstallAreaRoutes>();
builder.Services.AddSingleton<BackOfficeAreaRoutes>();
builder.Services.AddSingleton<PreviewRoutes>();
builder.AddNotificationAsyncHandler<ContentCacheRefresherNotification, PreviewHubUpdater>();
builder.Services.AddUnique<BackOfficeServerVariables>();
builder.Services.AddSingleton<BackOfficeServerVariables>();
builder.Services.AddScoped<BackOfficeSessionIdValidator>();
builder.Services.AddScoped<BackOfficeSecurityStampValidator>();
@@ -115,7 +115,7 @@ namespace Umbraco.Extensions
builder.Services.AddUnique<IIconService, IconService>();
builder.Services.AddUnique<IConflictingRouteService, ConflictingRouteService>();
builder.Services.AddUnique<UnhandledExceptionLoggerMiddleware>();
builder.Services.AddSingleton<UnhandledExceptionLoggerMiddleware>();
return builder;
}

View File

@@ -148,7 +148,7 @@ namespace Umbraco.Extensions
// Add supported databases
builder.AddUmbracoSqlServerSupport();
builder.AddUmbracoSqlCeSupport();
builder.Services.AddUnique<DatabaseSchemaCreatorFactory>();
builder.Services.AddSingleton<DatabaseSchemaCreatorFactory>();
// Must be added here because DbProviderFactories is netstandard 2.1 so cannot exist in Infra for now
builder.Services.AddSingleton<IDbProviderFactoryCreator>(factory => new DbProviderFactoryCreator(
@@ -200,7 +200,7 @@ namespace Umbraco.Extensions
/// </summary>
public static IUmbracoBuilder AddUmbracoProfiler(this IUmbracoBuilder builder)
{
builder.Services.AddUnique<WebProfilerHtml>();
builder.Services.AddSingleton<WebProfilerHtml>();
builder.Services.AddMiniProfiler(options =>
{
@@ -286,7 +286,7 @@ namespace Umbraco.Extensions
builder.Services.AddSmidgeInMemory(false); // it will be enabled based on config/cachebuster
builder.Services.AddUnique<IRuntimeMinifier, SmidgeRuntimeMinifier>();
builder.Services.AddUnique<SmidgeHelperAccessor>();
builder.Services.AddSingleton<SmidgeHelperAccessor>();
builder.Services.AddTransient<IPreProcessor, SmidgeNuglifyJs>();
builder.Services.ConfigureOptions<SmidgeOptionsSetup>();
@@ -332,7 +332,7 @@ namespace Umbraco.Extensions
builder.Services.AddUnique<IProfilerHtml, WebProfilerHtml>();
builder.Services.AddUnique<IMacroRenderer, MacroRenderer>();
builder.Services.AddUnique<PartialViewMacroEngine>();
builder.Services.AddSingleton<PartialViewMacroEngine>();
// register the umbraco context factory
@@ -343,12 +343,12 @@ namespace Umbraco.Extensions
builder.WithCollectionBuilder<UmbracoApiControllerTypeCollectionBuilder>()
.Add(umbracoApiControllerTypes);
builder.Services.AddUnique<UmbracoRequestLoggingMiddleware>();
builder.Services.AddUnique<PreviewAuthenticationMiddleware>();
builder.Services.AddUnique<UmbracoRequestMiddleware>();
builder.Services.AddUnique<BootFailedMiddleware>();
builder.Services.AddSingleton<UmbracoRequestLoggingMiddleware>();
builder.Services.AddSingleton<PreviewAuthenticationMiddleware>();
builder.Services.AddSingleton<UmbracoRequestMiddleware>();
builder.Services.AddSingleton<BootFailedMiddleware>();
builder.Services.AddUnique<UmbracoJsonModelBinder>();
builder.Services.AddSingleton<UmbracoJsonModelBinder>();
builder.Services.AddUnique<ITemplateRenderer, TemplateRenderer>();
builder.Services.AddUnique<IPublicAccessChecker, PublicAccessChecker>();