// initialize a PublishedContentCache instance with
        // an XmlStore containing the master xml
        // an IAppCache that should be at request-level
        // a RoutesCache - need to cleanup that one
        // a preview token string (or null if not previewing)
        public PublishedContentCache(
            XmlStore xmlStore,        // an XmlStore containing the master xml
            IDomainCache domainCache, // an IDomainCache implementation
            IAppCache appCache,       // an IAppCache that should be at request-level
            IGlobalSettings globalSettings,
            ISiteDomainHelper siteDomainHelper,
            IUmbracoContextAccessor umbracoContextAccessor,
            PublishedContentTypeCache contentTypeCache, // a PublishedContentType cache
            RoutesCache routesCache,                    // a RoutesCache
            string previewToken)                        // a preview token string (or null if not previewing)
            : base(previewToken.IsNullOrWhiteSpace() == false)
        {
            _appCache               = appCache;
            _globalSettings         = globalSettings;
            _umbracoContextAccessor = umbracoContextAccessor;
            _routesCache            = routesCache; // may be null for unit-testing
            _contentTypeCache       = contentTypeCache;
            _domainCache            = domainCache;
            _domainHelper           = new DomainHelper(_domainCache, siteDomainHelper);

            _xmlStore = xmlStore;
            _xml      = _xmlStore.Xml; // capture - because the cache has to remain consistent

            if (previewToken.IsNullOrWhiteSpace() == false)
            {
                _previewContent = new PreviewContent(_xmlStore, previewToken);
            }
        }
예제 #2
0
        public override string EnterPreview(IUser user, int contentId)
        {
            var previewContent = new PreviewContent(_xmlStore, user.Id);

            previewContent.CreatePreviewSet(contentId, true); // preview branch below that content
            return(previewContent.Token);
            //previewContent.ActivatePreviewCookie();
        }
예제 #3
0
        public override void ExitPreview(string previewToken)
        {
            if (previewToken.IsNullOrWhiteSpace())
            {
                return;
            }
            var previewContent = new PreviewContent(_xmlStore, previewToken);

            previewContent.ClearPreviewSet();
        }
예제 #4
0
        public override void RefreshPreview(string previewToken, int contentId)
        {
            if (previewToken.IsNullOrWhiteSpace())
            {
                return;
            }
            var previewContent = new PreviewContent(_xmlStore, previewToken);

            previewContent.CreatePreviewSet(contentId, true); // preview branch below that content
        }