ASP.NET MVC3 IIS7.5:Cache-Control maxage始终为0(不适合客户端缓存)

时间:2011-11-20 23:22:59

标签: asp.net-mvc asp.net-mvc-3 caching

我正在使用Fiddler测试我的网站并注意到Web服务器总是返回

Cache-Control: private, s-maxage=0

用于动态内容(MVC操作)。这可以防止页面在客户端缓存。我想知道它是MVC还是IIS的问题。我该如何解决?我真的需要客户端缓存才能工作。

谢谢!

P.S。以下是完整的响应标头集:

HTTP / 1.1 200好的 Cache-Control:private,s-maxage = 0 内容类型:text / html;字符集= utf-8的 内容编码:gzip 变化:接受编码 服务器:Microsoft-IIS / 7.5 X-AspNetMvc-Version:3.0 X-AspNet-Version:4.0.30319 X-UA兼容:IE =边缘,Chrome = 1 日期:太阳,2011年11月20日23:07:46 GMT 内容长度:2050

1 个答案:

答案 0 :(得分:7)

使用控制器和/或操作上的OutputCacheAttribute为该控制器的操作或特定操作设置缓存策略。

 [OutputCache( Location = OutputCacheLocation.Client, Duration = 600 )]
 public class HomeController : Controller
 {
    ..
 }