我是否需要声明我不想使用'OutputCacheLocation.None'来缓存它?

时间:2012-04-23 04:36:52

标签: c# asp.net asp.net-mvc-3 c#-4.0

我经常在网上看到'OutputCacheLocation.None',就像下面的网站一样 http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx

而且我想知道我是否应该声明它,即使我没有明确表示要将其缓存。

3 个答案:

答案 0 :(得分:1)

默认情况下,OutputCacheLocation设置为Any:

http://msdn.microsoft.com/en-us/library/hdxfb6cy.aspx

答案 1 :(得分:1)

不,没有必要。我至少不使用它。

我总是在写:

[OutputCache(NoStore=true, Duration=0)]
public ActionResult MyAction()
{
}

但是,我从未试图排除其中一个属性。 NoStore可能已经足够了。

答案 2 :(得分:0)

这不是为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