public override void Process(RequestEndArgs args)
 {
     try
     {
         var tvpHelper = HttpContext.Current.Items[TVPHelper.HttpContextKey] as TVPHelper;
         var dataset   = tvpHelper?.TVP;
         if (dataset != null && dataset.Tables[tvpHelper.CacheSite_TVP].Rows.Count > 0 &&
             dataset.Tables[tvpHelper.CacheHtml_TVP].Rows.Count > 0 && dataset.Tables[tvpHelper.CacheHtml_CacheItem_TVP].Rows.Count > 0 &&
             dataset.Tables[tvpHelper.CacheItem_TVP].Rows.Count > 0)
         {
             foreach (DataRow cacheSiteDr in dataset.Tables[tvpHelper.CacheSite_TVP].Rows)
             {
                 foreach (DataRow cacheHtmlDr in dataset.Tables[tvpHelper.CacheHtml_TVP].Rows)
                 {
                     BroadcastHtmlCacheRepository broadcastHtmlCacheRepository =
                         new BroadcastHtmlCacheRepository();
                     broadcastHtmlCacheRepository.BroadcastMessage(new BroadcastHtmlCacheMessage
                     {
                         SiteName        = cacheSiteDr["SiteName"].ToString(),
                         SiteLang        = cacheSiteDr["SiteLang"].ToString(),
                         HtmlCacheKey    = cacheHtmlDr["HtmlCacheKey"].ToString(),
                         HtmlCacheResult = cacheHtmlDr["HtmlCacheResult"].ToString(),
                         ToRemove        = false
                     });
                 }
             }
         }
     }
     catch (Exception e)
     {
         Log.Error("Failed to write to cache store", e, this);
     }
 }
        public override void Process(RequestEndArgs args)
        {
            try
            {
                PageContext pageContext = args.PageContext;
                if (pageContext == null || pageContext.Item == null)
                {
                    args.AbortPipeline();
                    return;
                }

                var apipath = Configuration.Settings.GetSetting("Sitecore.MediaFramework.Mvc.ApiPath", "api/sitecore/");
                var route   = pageContext?.RequestContext?.HttpContext?.Request?.RawUrl;
                if (String.IsNullOrEmpty(route))
                {
                    args.AbortPipeline();
                    return;
                }
                if (apipath.Split('|').ToList().Any(route.Contains))
                {
                    args.AbortPipeline();
                    return;
                }

                pageContext.RequestContext.HttpContext.RegisterDefaultResources();
            }
            catch (InvalidOperationException)
            {
            }
        }
示例#3
0
        public override void Process(RequestEndArgs args)
        {
            var pageContext = args.PageContext;

            if (pageContext?.RequestContext.HttpContext.Response.StatusCode != 200)
            {
                return;
            }

            var requestContext = pageContext.RequestContext.HttpContext;

            requestContext.Response.Cache.SetCacheability(HttpCacheability.Public);
            requestContext.Response.Cache.SetMaxAge(TimeSpan.FromMinutes(1));
        }
        public override void Process(RequestEndArgs args)
        {
            try
            {
                PageContext pageContext = args.PageContext;
                if (pageContext == null)
                {
                    return;
                }

                pageContext.RequestContext.HttpContext.RegisterDefaultResources();
            }
            catch (InvalidOperationException)
            {
            }
        }
        public override void Process(RequestEndArgs args)
        {
            var tvpHelper = HttpContext.Current.Items[TVPHelper.HttpContextKey] as TVPHelper;

            foreach (var htmlCacheKey in tvpHelper.Tracker.Keys)
            {
                var renderingProcessorArgs = tvpHelper.Tracker[htmlCacheKey];
                foreach (var itemMetaData in renderingProcessorArgs.ItemAccessList)
                {
                    tvpHelper.ProcessTrackingData(Sitecore.Context.Site.SiteInfo.Name,
                                                  Context.Site.SiteInfo.Language, renderingProcessorArgs.CacheKey,
                                                  renderingProcessorArgs.CacheResult, itemMetaData.Id, itemMetaData.Language);
                }
            }

            HttpContext.Current.Items[TVPHelper.HttpContextKey] = tvpHelper;
        }
示例#6
0
 public override void Process(RequestEndArgs args)
 {
     try
     {
         PageContext pageContext = args.PageContext;
         if (pageContext == null)
         {
             return;
         }
         RequestContext requestContext = pageContext.RequestContext;
         Stream         filter         = requestContext.HttpContext.Response.Filter;
         if (filter == null || this.Updaters.Count <= 0)
         {
             return;
         }
         requestContext.HttpContext.Response.Filter = (Stream) new HtmlUpdateFilter(filter, (IEnumerable <IHtmlUpdater>) this.Updaters);
     }
     catch (InvalidOperationException ex)
     {
     }
 }
        public override void Process(RequestEndArgs args)
        {
            try
            {
                PageContext pageContext = args.PageContext;
                if (pageContext == null || pageContext.Item == null)
                {
                    return;
                }

                RequestContext requestContext = pageContext.RequestContext;
                Stream         stream         = requestContext.HttpContext.Response.Filter;

                if (stream != null && this.Updaters.Count > 0)
                {
                    requestContext.HttpContext.Response.Filter = new HtmlUpdateFilter(stream, this.Updaters);
                }
            }
            catch (InvalidOperationException)
            {
            }
        }
 public override void Process(RequestEndArgs args)
 {
     using (var ctx = new ItemTrackingProvider())
     {
         try
         {
             var tvpHelper = HttpContext.Current.Items[TVPHelper.HttpContextKey] as TVPHelper;
             var dataset   = tvpHelper?.TVP;
             if (dataset != null && dataset.Tables[tvpHelper.CacheSite_TVP].Rows.Count > 0 &&
                 dataset.Tables[tvpHelper.CacheHtml_TVP].Rows.Count > 0 && dataset.Tables[tvpHelper.CacheHtml_CacheItem_TVP].Rows.Count > 0 &&
                 dataset.Tables[tvpHelper.CacheItem_TVP].Rows.Count > 0)
             {
                 ctx.UspMergeCacheData(dataset.Tables[tvpHelper.CacheSite_TVP],
                                       dataset.Tables[tvpHelper.CacheHtml_TVP], dataset.Tables[tvpHelper.CacheHtml_CacheItem_TVP],
                                       dataset.Tables[tvpHelper.CacheItem_TVP]);
             }
         }
         catch (Exception e)
         {
             Log.Error("Failed to write to cache store", e, this);
         }
     }
 }
示例#9
0
 public override void Process(RequestEndArgs args)
 {
     this.executor.ExecuteActions();
 }