我正在为所有的Umbraco v4页面使用outputcache,但是想要避免任何Ajax调用的缓存......
我在default.aspx中添加了这一行:
<%@OutputCache CacheProfile="umbProfil" %>
然后,在web.config中:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="umbProfil" duration="120" enabled="true" varyByHeader="???"
varyByParam="umbPage" location="ServerAndClient" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
问题是现在所有都被缓存了,包括我的Ajax调用,实际上不应该是:它们主要是表单,并且使用初始值维护字段条目,直到缓存过期...
为了让您知道,这些Ajax是'部分视图',即Umbraco常规页面只呈现某些形式......
我应该如何设置varyByHeader参数,以便实际缓存与umbPage EXCEPTING Ajax GET / POST调用相关的所有内容?
答案 0 :(得分:0)
当我在每个表单上使用防伪隐藏文本字段时,我最终使用此表单参数作为变量参数。
<add name="umbProfil" duration="120" enabled="true"
varyByParam="umbPage;__RequestVerificationToken" location="ServerAndClient" />
它似乎运行良好,我的umbPage被缓存,我的表单POST不是(或者至少只有一个缓存实例是针对每个POST进行的,持续120秒)。
如果你们有更好的想法(任何POST都没有缓存),请提供建议。