ASP.NET Web.config文件中的输出缓存

时间:2015-07-08 17:16:45

标签: c# asp.net caching

我正在尝试在用户浏览器上禁用或设置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指令,以防止任何内容页面缓存。但是,我很想知道为什么我们需要在两个地方而不是一个地方定义?

1 个答案:

答案 0 :(得分:0)

OutputCache指令不会真正影响用户的浏览器。您希望在响应中添加缓存控制标头。

OutputCache将告诉IIS存储您的动态内容,而不是在配置的时间段内重新生成它。缓存控制标头会告诉浏览器,在最长时间到期后,它需要提取新版本的内容。

http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/