我刚刚开始在我的一些控制器操作上使用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)。
有什么想法吗?
干杯 安东尼
答案 0 :(得分:1)
请参阅上面的解决方案
修改强>
这条评论被认为是答案:
您是否尝试将网站发布到IIS并查看标头 那里?它与开发服务器上的相同吗? -