我正在尝试在用户浏览器上禁用或设置ASP.NET Web App网页的最小缓存。所以,我在web.config中添加了以下几行。
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache30Seconds" duration="30"
varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
现在我尝试使用这个配置文件,就像这里msdn文档所说的那样
如果我们需要在任何页面中使用此功能,我们需要使用<%@ OutputCache CacheProfile="Cache30Seconds" Duration="30" %>
现在,这提出了以下问题。 1.如果我们需要在每个页面上使用它,为什么我们在web.config文件中指定这些设置? 2.我们是否需要在Web.config中的页面和缓存配置文件中定义持续时间?如果是这样,为什么我们可以为它们使用不同的持续时间?
如果我们使用母版页,我们可以在那里定义这个OutputCache指令,以防止任何内容页面缓存。但是,我很想知道为什么我们需要在两个地方而不是一个地方定义?
答案 0 :(得分:0)
OutputCache指令不会真正影响用户的浏览器。您希望在响应中添加缓存控制标头。
OutputCache将告诉IIS存储您的动态内容,而不是在配置的时间段内重新生成它。缓存控制标头会告诉浏览器,在最长时间到期后,它需要提取新版本的内容。
http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/