【发布时间】:2012-04-23 04:36:51
【问题描述】:
我经常在网络上看到“OutputCacheLocation.None”,例如以下网站。
http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx
而且我想知道是否应该声明它,即使我没有明确表示要缓存它。
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 c#-4.0
我经常在网络上看到“OutputCacheLocation.None”,例如以下网站。
http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx
而且我想知道是否应该声明它,即使我没有明确表示要缓存它。
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 c#-4.0
不,没有必要。我至少不会使用它。
我一直在写:
[OutputCache(NoStore=true, Duration=0)]
public ActionResult MyAction()
{
}
但是,我从未尝试排除其中一个属性。 NoStore 可能就够了。
【讨论】:
OutputCacheLocation 默认设置为 Any:
【讨论】:
这不是为 MVC3 设置缓存策略的唯一方法。
您也可以将其应用于操作级别。或者,直接写入响应:
response.setHeader( "Pragma", "no-cache" );
response.setHeader( "Cache-Control", "no-cache" );
response.setDateHeader( "Expires", 0 );
在此处查看更多信息: http://www.codeguru.com/csharp/article.php/c18745/ASPNET-MVC3-Caching.htm
【讨论】: