IIS7 + ASP.NET MVC客户端缓存标头不起作用

时间:2009-10-12 17:59:59

标签: asp.net-mvc caching iis-7

我在IIS7和Windows Server 2008上部署了一个ASP.NET MVC应用程序。

我已经阅读了这里和网络上的帖子,但无法让客户端缓存工作。

我正在尝试缓存/ Content文件夹中的所有内容。到目前为止,我在IIS管理器中选择了该文件夹,并设置了相应的HTTP响应标头(在Common Headers下)。我还检查了/ Content文件夹中的web.config文件,并设置了值。

/ Content中的所有资源都来自(来自FireBug):

Cache-Control   no-cache, no-store, must-revalidate
Pragma        no-cache
Content-Type    image/png
Expires      -1
Last-Modified   Sun, 11 Oct 2009 19:01:40 GMT
Accept-Ranges   bytes
Etag            "f318d643a54aca1:0"
Server        Microsoft-IIS/7.0
X-Powered-By    ASP.NET
Date            Sun, 11 Oct 2009 20:40:01 GMT
Content-Length  620  

请注意所请求的此静态图像的Cache-Control和Expires值。

该网站目前在Debug中编译(这将改变),但肯定不会有所作为?

显然我忽视了一些事情,任何想法都会受到赞赏。

谢谢

1 个答案:

答案 0 :(得分:2)

如果使用IIS管理工具无法正常工作,请尝试Jeff Atwood的推荐 this thread

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>