ASP.NET MVC:OutputCache和http标头 - Cache-Control

时间:2009-07-15 02:34:01

标签: .net asp.net asp.net-mvc caching http-headers

我刚刚开始在我的一些控制器操作上使用OutputCache,而且我没有得到我期望的响应。

基本上我设置了Location = OutputCacheLocation.Any,http标头如下:

Server              ASP.NET Development Server/9.0.0.0
Date                Wed, 15 Jul 2009 02:14:21 GMT
X-AspNet-Version    2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding    gzip
Cache-Control       private, max-age=3600
Expires             Wed, 15 Jul 2009 02:14:21 GMT
Last-Modified       Wed, 15 Jul 2009 02:14:20 GMT
Vary                *
Content-Type        text/html; charset=utf-8
Content-Length      640
Connection          Close

现在,如果我的解释是正确的,则将Cache-Control部分设置为private意味着它只会缓存在客户端上。我还需要在任何代理上缓存。

我原本期望通过设置OutputCacheLocation.Any,Cache-Control就像“ public ,max-age = 3600”。据我所知私有意味着它只会缓存在客户端而不是“任何”(即代理 - 请参阅http://msdn.microsoft.com/en-us/library/system.web.httpcacheability.aspx)。

有什么想法吗?

干杯 安东尼

1 个答案:

答案 0 :(得分:1)

请参阅上面的解决方案

修改

这条评论被认为是答案:

  

您是否尝试将网站发布到IIS并查看标头   那里?它与开发服务器上的相同吗? -