NetCore: MSDI refactor phase 2 (#9280)

* Moved adapters from Infra -> Core

* Allow Composition to accept a service collection instead of an IRegister

* Composition no longer takes IRegister as constructor arg

all tests passing

* Composition no longer implements IRegister

* Lose _uniques in Composition

* lose Composition OnCreatingFactory actions

* Clean up UmbracoCoreServiceCollectionExtensions & Composition

Less IFactory

* LightInject gone where TFW == netstandard2.0 || TFW == netcoreapp3.1

* Resolve dead code issues

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later.

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later (continued)

Thought the counts were low, it's mostly extension method usage
This commit is contained in:
Paul Johnson
2020-10-27 10:53:01 +00:00
committed by GitHub
parent 507facbdaa
commit ec66990e72
111 changed files with 662 additions and 1998 deletions

View File

@@ -1,4 +1,5 @@
using Umbraco.Core;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Core;
using Umbraco.Core.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Scoping;
@@ -15,7 +16,7 @@ namespace Umbraco.Web.PublishedCache.NuCache
base.Compose(composition);
// register the NuCache database data source
composition.Register<IDataSource, DatabaseDataSource>();
composition.Services.AddTransient<IDataSource, DatabaseDataSource>();
// register the NuCache published snapshot service
// must register default options, required in the service ctor
@@ -26,8 +27,8 @@ namespace Umbraco.Web.PublishedCache.NuCache
// mapping lookups if we are using nucache.
composition.RegisterUnique<IIdKeyMap>(factory =>
{
var idkSvc = new IdKeyMap(factory.GetInstance<IScopeProvider>());
var publishedSnapshotService = factory.GetInstance<IPublishedSnapshotService>() as PublishedSnapshotService;
var idkSvc = new IdKeyMap(factory.GetRequiredService<IScopeProvider>());
var publishedSnapshotService = factory.GetRequiredService<IPublishedSnapshotService>() as PublishedSnapshotService;
if (publishedSnapshotService != null)
{
idkSvc.SetMapper(UmbracoObjectTypes.Document, id => publishedSnapshotService.GetDocumentUid(id), uid => publishedSnapshotService.GetDocumentId(uid));