我正在使用 Fiddler 测试我的网站,并注意到 Web 服务器总是返回
Cache-Control: private, s-maxage=0
用于动态内容(MVC 操作)。这可以防止页面在客户端缓存。我想知道这是MVC还是IIS的问题。我该如何解决?我真的需要客户端缓存才能工作。
谢谢!
附言以下是完整的响应 header 集:
HTTP/1.1 200 正常
缓存控制:私有(private),s-maxage=0
内容类型:文本/html;字符集=utf-8
内容编码:gzip
变化:接受编码
服务器:Microsoft-IIS/7.5
X-AspNetMvc-版本:3.0
X-AspNet 版本:4.0.30319
X-UA-兼容:IE=edge,Chrome=1
日期:2011 年 11 月 20 日星期日 23:07:46 GMT
内容长度:2050
最佳答案
在 Controller 和/或 Action 上使用 OutputCacheAttribute 为该 Controller 的 Action 或特定 Action 设置缓存策略。
[OutputCache( Location = OutputCacheLocation.Client, Duration = 600 )]
public class HomeController : Controller
{
..
}
关于asp.net-mvc - ASP.NET MVC3 IIS7.5 : Cache-Control maxage is always 0 (not good for client-side caching),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8205637/