我正在使用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
答案 0 :(得分:7)
使用控制器和/或操作上的OutputCacheAttribute为该控制器的操作或特定操作设置缓存策略。
[OutputCache( Location = OutputCacheLocation.Client, Duration = 600 )]
public class HomeController : Controller
{
..
}