ASP.NET Cache-Control在服务器上更改

时间:2011-06-23 17:13:40

标签: asp.net asp.net-mvc iis-6 cache-control

我有ASP.NET MVC操作过滤器,用于设置响应的缓存控制标头。一切正常,除非我将它发布到Web服务器。

当我通过localhost运行时,我得到以下内容:

Cache-Control:public, max-age=172800
Connection:Close
Content-Length:15057
Content-Type:application/pdf
Date:Thu, 23 Jun 2011 17:09:09 GMT
Server:ASP.NET Development Server/9.0.0.0
X-AspNet-Version:2.0.50727
X-AspNetMvc-Version:2.0

在实时网站上运行时

Cache-Control:public
Content-Length:15057
Content-Type:application/pdf
Date:Thu, 23 Jun 2011 17:09:45 GMT
Server:Microsoft-IIS/6.0
X-AspNet-Version:2.0.50727
X-AspNetMvc-Version:2.0
X-Powered-By:ASP.NET

因此出于某种原因,max-age被清除,我无法理解。

我能想到的唯一区别是开发站点通过Cassini Web服务器,而live是IIS,所以IIS可能正在清除max-age?

如何在缓存控制标头中保留max-age值?

修改 这是web.config中system.webserver节点的图片,以防有可能看到的东西。

web.config

1 个答案:

答案 0 :(得分:1)

查找并检查< clientCache />您的配置文件中的行。尝试将cacheControlMode设置为UseMaxAge(如果情况并非如此)。

例如:< clientCache cacheControlMode =“UseMaxAge”cacheControlMaxAge =“10:00:00”/>