在发布时停止EPiServer清除输出缓存

时间:2016-05-11 17:35:03

标签: caching outputcache episerver

这不是我经常看到的一个问题,通常它的EPiServer不会清除输出缓存“#”;'。我试图实现相反的目标。每次发布页面时都会删除整个缓存,并且当客户端每天发布几次时,这是令人沮丧的。

我使用httpCacheVaryByCustom属性并尝试在EPiServer中实施public override string GetVaryByCustomString(HttpContext context, string custom) 规则并附带计划任务,以便在我们决定将更新捆绑在一起并在a处无效时使缓存无效预定时间。

我已经测试了这条规则并且可以使用:

<applicationSettings globalErrorHandling="Off" operationCompatibility="DynamicProperties" uiSafeHtmlTags="b,i,u,br,em,strong,p,a,img,ol,ul,li" disableVersionDeletion="false" 
                     httpCacheability="Public" uiEditorCssPaths="~/assets/css/styles.css, ~/assets/css/editor.css" urlRebaseKind="ToRootRelative" 
                     pageUseBrowserLanguagePreferences="false" uiShowGlobalizationUserInterface="false" subscriptionHandler="EPiServer.Personalization.SubscriptionMail,EPiServer" 
                     uiMaxVersions="20" pageValidateTemplate="false" utilUrl="~/util/" 
                     uiUrl="~/EPiServer/CMS/" httpCacheExpiration="01:00:00"  httpCacheVaryByCustom="invalidateSiteCache" />

我的印象是,通过使用这种类型的缓存规则,只要发布/媒体上传内容,就会阻止EPiServer转储我的缓存。

虽然有没有办法阻止这种情况发生?

通过使用具有相同自定义字符串规则的标准[OutputCache],我获得了成功,唯一的问题是编辑将始终看到他们正在编辑的页面的缓存版本。

我在EPiServer的web.config中的应用程序设置是:

{{1}}

0 个答案:

没有答案