我需要声明我不想使用'OutputCacheLocation.None'来缓存它吗?
我经常在网上看到如下的网站上的'OutputCacheLocation.None'。
http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx
而且我想知道是否应该声明它,即使我没有明确指出要将其缓存。我需要声明我不想使用'OutputCacheLocation.None'来缓存它吗?
没有,没有需要。我至少不会使用它。
我总是写:
[OutputCache(NoStore=true, Duration=0)]
public ActionResult MyAction()
{
}
但是,我从来没有尝试过,以排除那些属性之一。 NoStore
可能就足够了。
这不是设置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
.NET使用pascal案例。 – jgauffin 2012-04-23 05:54:45
嘛OutputCacheLocation被默认设置为Any:
谢谢。我看到属性'location'的默认值是'Any'。但是OutputCache本身呢。 – Nigiri 2012-04-23 05:48:28
为了以防万一,您可以编写OutputCache? – Nigiri 2012-04-23 05:52:55
只有当我不想缓存项目或自定义缓存时(例如,为每种语言创建一个缓存项目) – jgauffin 2012-04-23 05:53:50
我明白了。谢谢 – Nigiri 2012-04-23 06:26:16