2011-02-10 19 views
4

默认情况下,Asp.Net MVC(至少我的设置)似乎发送一个标头值如何从asp.net的MVC响应删除S-最大生存周期头

Cache-Control: private, s-maxage=0 

我需要取下S -maxage = 0部分。原因是IE6似乎处理内容处置:附件头错误,如果这个头是存在的。

我观察到的最终效果是,如果用户选择打开下载的文件而不是保存它,则实际上并未保存。工作非mvc版本和非工作mvc版本之间的区别就在于此标题。

工作响应:

HTTP/1.1 200 OK 
Server: ASP.NET Development Server/9.0.0.0 
Date: Thu, 10 Feb 2011 19:35:47 GMT 
X-AspNet-Version: 2.0.50727 
Content-Disposition: attachment; filename=results.txt 
Cache-Control: private 
Content-Type: text/plain; charset=iso-8859-1 
Content-Length: 210 
Connection: Close 

<<DATA>> 

非工作响应:

HTTP/1.1 200 OK 
Server: ASP.NET Development Server/9.0.0.0 
Date: Thu, 10 Feb 2011 20:24:04 GMT 
X-AspNet-Version: 2.0.50727 
X-AspNetMvc-Version: 1.0 
Content-Disposition: attachment; filename=results.txt 
Cache-Control: private, s-maxage=0 
Content-Type: text/plain 
Content-Length: 90 
Connection: Close 

<<DATA>> 
+0

不是你的答案,但如果你设置了“no-cache”没有`s-maxage`。 `[OutputCache(Location = OutputCacheLocation.None)]` – KCD 2012-11-23 03:19:46

回答

0

MVC哪个版本您使用的?我正在使用MVC 4,默认情况下(如使用Internet模板时的主页),标题如你所愿:

Cache-Control: private