2009-07-15 93 views
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)。

任何想法?

干杯 安东尼

+0

您是否尝试将您的网站发布到IIS并在那里查看标题?它与开发服务器上的相同吗? – womp 2009-07-15 02:39:31

+0

不,我只在VS atm内试过。你认为会有区别吗? – 2009-07-15 03:22:38

回答

1

见上述意见的解决方案

编辑

此评论被视为答案:

你试过站点发布到IIS和期待在标题 那里?它与开发服务器上的相同吗? -