UnitOfWork RIP, IScopeAccessor

This commit is contained in:
Stephan
2017-12-14 17:04:44 +01:00
parent 6d4644c118
commit 33b4af0340
97 changed files with 357 additions and 893 deletions

View File

@@ -8,7 +8,6 @@ using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Scoping;
using Umbraco.Core.Serialization;
using Umbraco.Web.Composing;

View File

@@ -1,11 +1,11 @@
using Umbraco.Core;
using Umbraco.Core.Components;
using Umbraco.Core.Logging;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using LightInject;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Persistence.Repositories;
namespace Umbraco.Web.PublishedCache.NuCache
{
@@ -22,10 +22,12 @@ namespace Umbraco.Web.PublishedCache.NuCache
factory.GetInstance<IRuntimeState>(),
factory.GetInstance<ServiceContext>(),
factory.GetInstance<IPublishedContentTypeFactory>(),
factory.GetInstance<IScopeUnitOfWorkProvider>(),
factory.GetInstance<IPublishedSnapshotAccessor>(),
factory.GetInstance<ILogger>(),
factory.GetInstance<IScopeProvider>()));
factory.GetInstance<IScopeProvider>(),
factory.GetInstance<IDocumentRepository>(),
factory.GetInstance<IMediaRepository>(),
factory.GetInstance<IMemberRepository>()));
// add the NuCache health check (hidden from type finder)
// todo - no NuCache health check yet

View File

@@ -7,7 +7,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using Umbraco.Core.Strings;
@@ -35,37 +35,41 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
public PublishedSnapshotService(ServiceContext serviceContext,
IPublishedContentTypeFactory publishedContentTypeFactory,
IScopeProvider scopeProvider,
IScopeUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
IEnumerable<IUrlSegmentProvider> segmentProviders,
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IDocumentRepository documentRepository, IMediaRepository mediaRepository, IMemberRepository memberRepository,
ILogger logger,
MainDom mainDom,
bool testing = false, bool enableRepositoryEvents = true)
: this(serviceContext, publishedContentTypeFactory, scopeProvider, uowProvider, requestCache, segmentProviders, publishedSnapshotAccessor, logger, null, mainDom, testing, enableRepositoryEvents)
: this(serviceContext, publishedContentTypeFactory, scopeProvider, requestCache, segmentProviders, publishedSnapshotAccessor,
documentRepository, mediaRepository, memberRepository,
logger, null, mainDom, testing, enableRepositoryEvents)
{ }
// used in some tests
internal PublishedSnapshotService(ServiceContext serviceContext,
IPublishedContentTypeFactory publishedContentTypeFactory,
IScopeProvider scopeProvider,
IScopeUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IDocumentRepository documentRepository, IMediaRepository mediaRepository, IMemberRepository memberRepository,
ILogger logger,
PublishedContentTypeCache contentTypeCache,
MainDom mainDom,
bool testing, bool enableRepositoryEvents)
: this(serviceContext, publishedContentTypeFactory, scopeProvider, uowProvider, requestCache, Enumerable.Empty<IUrlSegmentProvider>(), publishedSnapshotAccessor, logger, contentTypeCache, mainDom, testing, enableRepositoryEvents)
: this(serviceContext, publishedContentTypeFactory, scopeProvider, requestCache, Enumerable.Empty<IUrlSegmentProvider>(), publishedSnapshotAccessor,
documentRepository, mediaRepository, memberRepository,
logger, contentTypeCache, mainDom, testing, enableRepositoryEvents)
{ }
private PublishedSnapshotService(ServiceContext serviceContext,
IPublishedContentTypeFactory publishedContentTypeFactory,
IScopeProvider scopeProvider,
IScopeUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
IEnumerable<IUrlSegmentProvider> segmentProviders,
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IDocumentRepository documentRepository, IMediaRepository mediaRepository, IMemberRepository memberRepository,
ILogger logger,
PublishedContentTypeCache contentTypeCache,
MainDom mainDom,
@@ -76,7 +80,8 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
_contentTypeCache = contentTypeCache
?? new PublishedContentTypeCache(serviceContext.ContentTypeService, serviceContext.MediaTypeService, serviceContext.MemberTypeService, publishedContentTypeFactory, logger);
_xmlStore = new XmlStore(serviceContext, scopeProvider, uowProvider, _routesCache, _contentTypeCache, segmentProviders, publishedSnapshotAccessor, mainDom, testing, enableRepositoryEvents);
_xmlStore = new XmlStore(serviceContext, scopeProvider, _routesCache, _contentTypeCache, segmentProviders, publishedSnapshotAccessor, mainDom, testing, enableRepositoryEvents,
documentRepository, mediaRepository, memberRepository);
_domainService = serviceContext.DomainService;
_memberService = serviceContext.MemberService;

View File

@@ -1,7 +1,6 @@
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Components;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Services;
using Umbraco.Core.Strings;
using Umbraco.Core.Logging;
@@ -9,6 +8,7 @@ using Umbraco.Core.Scoping;
using Umbraco.Web.HealthCheck.Checks.DataIntegrity;
using LightInject;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Persistence.Repositories;
namespace Umbraco.Web.PublishedCache.XmlPublishedCache
{
@@ -24,10 +24,10 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
factory.GetInstance<ServiceContext>(),
factory.GetInstance<IPublishedContentTypeFactory>(),
factory.GetInstance<IScopeProvider>(),
factory.GetInstance<IScopeUnitOfWorkProvider>(),
factory.GetInstance<CacheHelper>().RequestCache,
factory.GetInstance<UrlSegmentProviderCollection>(),
factory.GetInstance<IPublishedSnapshotAccessor>(),
factory.GetInstance<IDocumentRepository>(), factory.GetInstance<IMediaRepository>(), factory.GetInstance<IMemberRepository>(),
factory.GetInstance<ILogger>(),
factory.GetInstance<MainDom>()));