protected void Run(ClientPipelineArgs args) { if (item != null && language != null) { using (var ctx = new ItemTrackingProvider()) { var siteInfo = SiteInfoExtensions.GetSites(this.item, item.Language).FirstOrDefault(); if (siteInfo != null) { BroadcastHtmlCacheRepository broadcastHtmlCacheRepository = new BroadcastHtmlCacheRepository(); var results = ctx.UspDeleteCacheDataForSite(siteInfo.Name, siteInfo.Language); foreach (var result in results) { broadcastHtmlCacheRepository.BroadcastMessage(new BroadcastHtmlCacheMessage { ToRemove = true, SiteName = result.SiteName, SiteLang = result.SiteLang }); } SheerResponse.Alert("All caches for all sites have been queued for clearing", true); } else { SheerResponse.Alert("Site could not be determined by the item in context", true); } } } else { SheerResponse.Alert("Site could not be determined by the item in context", true); } args.WaitForPostBack(false); }
public void SavePublishedItemsToCacheDb(object sender, EventArgs args) { var publishItemTracking = Sitecore.Context.Items[PublishItemTracking.Name] as PublishItemTracking; if (publishItemTracking != null) { foreach (var language in publishItemTracking.Languages) { using (var ctx = new ItemTrackingProvider()) { var tvpHelper = new TVPHelper(); foreach (var publishedItem in publishItemTracking.PublishedItems) { tvpHelper.ProcessPublishData(publishedItem.Key, language, publishedItem.Value == PublishOperation.PublishOperationEnum.Delete); } var tvp = tvpHelper.TVP.Tables[tvpHelper.CacheItem_TVP]; var cacheEntriesToClear = ctx.UspDeleteCacheData(tvp); BroadcastHtmlCacheRepository broadcastHtmlCacheRepository = new BroadcastHtmlCacheRepository(); foreach (var cacheEntryToClear in cacheEntriesToClear) { broadcastHtmlCacheRepository.BroadcastMessage(new BroadcastHtmlCacheMessage { SiteName = cacheEntryToClear.SiteName, SiteLang = cacheEntryToClear.SiteLang, HtmlCacheKey = cacheEntryToClear.HtmlCacheKey, ToRemove = true }); } } } } }
protected void Run(ClientPipelineArgs args) { using (var ctx = new ItemTrackingProvider()) { var siteInfos = SiteInfoExtensions.GetSites(this.Item, null); if (siteInfos != null) { BroadcastHtmlCacheRepository broadcastHtmlCacheRepository = new BroadcastHtmlCacheRepository(); foreach (var siteInfo in siteInfos) { var results = ctx.UspDeleteCacheDataForSite(siteInfo.Name, siteInfo.Language); foreach (var result in results) { broadcastHtmlCacheRepository.BroadcastMessage(new BroadcastHtmlCacheMessage { ToRemove = true, SiteName = result.SiteName, SiteLang = result.SiteLang }); } } SheerResponse.Alert("Caches for the Site in all languages have been queue to be cleared", true); } else { SheerResponse.Alert("Site could not be determined by the item in context", true); } args.WaitForPostBack(false); } }
public void Initialize(PipelineArgs args) { var siteNames = Factory.GetSiteInfoList().Select(x => x.Name); foreach (var siteName in siteNames) { using (var ctx = new ItemTrackingProvider()) { var htmlResults = ctx.UspGetCacheForSite(siteName); SiteContext siteContext = Factory.GetSite(siteName); foreach (var htmlResult in htmlResults) { CacheManager.GetHtmlCache(siteContext) .SetHtml(htmlResult.HtmlCacheKey, htmlResult.HtmlCacheResult); } } } }
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); } } }