3
我刚开始在我的一些控制器动作上使用OutputCache,并且我没有完全得到我期望的响应。ASP.NET MVC:OutputCache和http头 - 缓存控制
基本上我已经设置位置= 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
现在,如果我的解释是正确的缓存控制部分被设置为私有的手段,它只会被缓存在客户端。我也需要缓存在任何代理上。
我本来期望通过设置OutputCacheLocation.Any缓存控制会一直像“公共,最大年龄= 3600”。据我所知,私人意味着它只会被缓存在客户端,而不是“任何”(即代理 - 见http://msdn.microsoft.com/en-us/library/system.web.httpcacheability.aspx)。
任何想法?
干杯 安东尼
您是否尝试将您的网站发布到IIS并在那里查看标题?它与开发服务器上的相同吗? – womp 2009-07-15 02:39:31
不,我只在VS atm内试过。你认为会有区别吗? – 2009-07-15 03:22:38