Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC3 IIS7.5:缓存控制最大值始终为0(不适用于客户端缓存)_Asp.net Mvc_Asp.net Mvc 3_Caching - Fatal编程技术网

Asp.net mvc ASP.NET MVC3 IIS7.5:缓存控制最大值始终为0(不适用于客户端缓存)

Asp.net mvc ASP.NET MVC3 IIS7.5:缓存控制最大值始终为0(不适用于客户端缓存),asp.net-mvc,asp.net-mvc-3,caching,Asp.net Mvc,Asp.net Mvc 3,Caching,我用Fiddler测试我的网站,发现web服务器总是返回 Cache-Control: private, s-maxage=0 用于动态内容(MVC操作)。这将防止页面缓存在客户端。我想知道这是MVC还是IIS的问题。我怎样才能修好它?我真的需要客户端缓存才能工作 谢谢大家! 以下是完整的响应标题集: HTTP/1.1200ok 缓存控制:专用,s-maxage=0 内容类型:text/html;字符集=utf-8 内容编码:gzip 改变:接受编码 服务器:Microsoft IIS/7.5

我用Fiddler测试我的网站,发现web服务器总是返回

Cache-Control: private, s-maxage=0
用于动态内容(MVC操作)。这将防止页面缓存在客户端。我想知道这是MVC还是IIS的问题。我怎样才能修好它?我真的需要客户端缓存才能工作

谢谢大家!

以下是完整的响应标题集:

HTTP/1.1200ok 缓存控制:专用,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=edge,Chrome=1 日期:2011年11月20日星期日23:07:46 GMT 内容长度:2050

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

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

谢谢您的回复!我实际上编写了一个自定义过滤器,只是忘记了ASPNET有现成的输出缓存:)顺便问一下,s-maxage=0代表什么?即使启用了缓存,它也为0。对于共享缓存(代理),它指定它应使用此值,而不是最大年龄值:0。我的问题正好相反。在IIS7.5上运行的MVC 3增加了缓存控制:对每个操作都是私有的,从而缓存浏览器中的每个页面。使用全局输出缓存筛选器解决了此问题。但是我没有弄清楚一开始是什么设置的。