Resvolution - Components, Runtime & Booting
This commit is contained in:
@@ -37,8 +37,9 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
ICacheProvider requestCache,
|
||||
IEnumerable<IUrlSegmentProvider> segmentProviders,
|
||||
IFacadeAccessor facadeAccessor,
|
||||
MainDom mainDom,
|
||||
bool testing = false, bool enableRepositoryEvents = true)
|
||||
: this(serviceContext, uowProvider, requestCache, segmentProviders, facadeAccessor, null, testing, enableRepositoryEvents)
|
||||
: this(serviceContext, uowProvider, requestCache, segmentProviders, facadeAccessor, null, mainDom, testing, enableRepositoryEvents)
|
||||
{ }
|
||||
|
||||
// used in some tests
|
||||
@@ -47,8 +48,9 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
ICacheProvider requestCache,
|
||||
IFacadeAccessor facadeAccessor,
|
||||
PublishedContentTypeCache contentTypeCache,
|
||||
MainDom mainDom,
|
||||
bool testing, bool enableRepositoryEvents)
|
||||
: this(serviceContext, uowProvider, requestCache, Enumerable.Empty<IUrlSegmentProvider>(), facadeAccessor, contentTypeCache, testing, enableRepositoryEvents)
|
||||
: this(serviceContext, uowProvider, requestCache, Enumerable.Empty<IUrlSegmentProvider>(), facadeAccessor, contentTypeCache, mainDom, testing, enableRepositoryEvents)
|
||||
{ }
|
||||
|
||||
private FacadeService(ServiceContext serviceContext,
|
||||
@@ -57,6 +59,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
IEnumerable<IUrlSegmentProvider> segmentProviders,
|
||||
IFacadeAccessor facadeAccessor,
|
||||
PublishedContentTypeCache contentTypeCache,
|
||||
MainDom mainDom,
|
||||
bool testing, bool enableRepositoryEvents)
|
||||
: base(facadeAccessor)
|
||||
{
|
||||
@@ -64,7 +67,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
_contentTypeCache = contentTypeCache
|
||||
?? new PublishedContentTypeCache(serviceContext.ContentTypeService, serviceContext.MediaTypeService, serviceContext.MemberTypeService);
|
||||
|
||||
_xmlStore = new XmlStore(serviceContext, uowProvider, _routesCache, _contentTypeCache, segmentProviders, facadeAccessor, testing, enableRepositoryEvents);
|
||||
_xmlStore = new XmlStore(serviceContext, uowProvider, _routesCache, _contentTypeCache, segmentProviders, facadeAccessor, mainDom, testing, enableRepositoryEvents);
|
||||
|
||||
_domainService = serviceContext.DomainService;
|
||||
_memberService = serviceContext.MemberService;
|
||||
|
||||
@@ -877,14 +877,14 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
if (_publishedMediaCacheEnabled == false)
|
||||
return func(id);
|
||||
|
||||
var cache = ApplicationContext.Current.ApplicationCache.RuntimeCache;
|
||||
var cache = Current.ApplicationCache.RuntimeCache;
|
||||
var key = PublishedMediaCacheKey + id;
|
||||
return (CacheValues) cache.GetCacheItem(key, () => func(id), _publishedMediaCacheTimespan);
|
||||
}
|
||||
|
||||
internal static void ClearCache(int id)
|
||||
{
|
||||
var cache = ApplicationContext.Current.ApplicationCache.RuntimeCache;
|
||||
var cache = Current.ApplicationCache.RuntimeCache;
|
||||
var sid = id.ToString();
|
||||
var key = PublishedMediaCacheKey + sid;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using LightInject;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Components;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
@@ -21,7 +22,8 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
factory.GetInstance<IDatabaseUnitOfWorkProvider>(),
|
||||
factory.GetInstance<CacheHelper>().RequestCache,
|
||||
factory.GetAllInstances<IUrlSegmentProvider>(),
|
||||
factory.GetInstance<IFacadeAccessor>()));
|
||||
factory.GetInstance<IFacadeAccessor>(),
|
||||
factory.GetInstance<MainDom>()));
|
||||
}
|
||||
|
||||
public void Initialize(IFacadeService service)
|
||||
|
||||
@@ -423,7 +423,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
|
||||
public static void ClearRequest()
|
||||
{
|
||||
ApplicationContext.Current.ApplicationCache.RequestCache.ClearCacheByKeySearch(CacheKeyPrefix);
|
||||
Current.ApplicationCache.RequestCache.ClearCacheByKeySearch(CacheKeyPrefix);
|
||||
}
|
||||
|
||||
private const string CacheKeyPrefix = "CONTENTCACHE_XMLPUBLISHEDCONTENT_";
|
||||
|
||||
@@ -59,17 +59,18 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="XmlStore"/> class.
|
||||
/// </summary>
|
||||
/// <remarks>The default constructor will boot the cache, load data from file or database,
|
||||
/// wire events in order to manage changes, etc.</remarks>
|
||||
public XmlStore(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, RoutesCache routesCache, PublishedContentTypeCache contentTypeCache, IEnumerable<IUrlSegmentProvider> segmentProviders, IFacadeAccessor facadeAccessor)
|
||||
: this(serviceContext, uowProvider, routesCache, contentTypeCache, segmentProviders, facadeAccessor, false, false)
|
||||
/// <remarks>The default constructor will boot the cache, load data from file or database, /// wire events in order to manage changes, etc.</remarks>
|
||||
public XmlStore(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, RoutesCache routesCache, PublishedContentTypeCache contentTypeCache,
|
||||
IEnumerable<IUrlSegmentProvider> segmentProviders, IFacadeAccessor facadeAccessor, MainDom mainDom)
|
||||
: this(serviceContext, uowProvider, routesCache, contentTypeCache, segmentProviders, facadeAccessor, mainDom, false, false)
|
||||
{ }
|
||||
|
||||
// internal for unit tests
|
||||
// no file nor db, no config check
|
||||
// fixme - er, we DO have a DB?
|
||||
internal XmlStore(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, RoutesCache routesCache, PublishedContentTypeCache contentTypeCache,
|
||||
IEnumerable<IUrlSegmentProvider> segmentProviders, IFacadeAccessor facadeAccessor, bool testing, bool enableRepositoryEvents)
|
||||
IEnumerable<IUrlSegmentProvider> segmentProviders, IFacadeAccessor facadeAccessor, MainDom mainDom,
|
||||
bool testing, bool enableRepositoryEvents)
|
||||
{
|
||||
if (testing == false)
|
||||
EnsureConfigurationIsValid();
|
||||
@@ -88,7 +89,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
}
|
||||
else
|
||||
{
|
||||
InitializeFilePersister();
|
||||
InitializeFilePersister(mainDom);
|
||||
}
|
||||
|
||||
Initialize(testing, enableRepositoryEvents);
|
||||
@@ -126,7 +127,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
_xmlMediaSerializer = m => exs.Serialize(_serviceContext.MediaService, _serviceContext.DataTypeService, _serviceContext.UserService, segmentProviders, m);
|
||||
}
|
||||
|
||||
private void InitializeFilePersister()
|
||||
private void InitializeFilePersister(MainDom mainDom)
|
||||
{
|
||||
if (SyncToXmlFile == false) return;
|
||||
|
||||
@@ -144,7 +145,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
||||
// create (and add to runner)
|
||||
_persisterTask = new XmlStoreFilePersister(runner, this, logger);
|
||||
|
||||
var registered = ApplicationContext.Current.MainDom.Register(
|
||||
var registered = mainDom.Register(
|
||||
null,
|
||||
() =>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user