[OutputCache(Duration = 60, VaryByParam = "none")]
public ActionResult Index()
{
Response.Cache.SetOmitVaryStar(true);
return View();
}
以上代码在新建项目中是可以的。我应用了基类后, 缓存失效,总返回 200, 后来查到是由于我在基类中,重设置了Cookie的过期时间,导致的。
如果在Response时,更变了 Cookie 值,则会导致页面缓存失效。返回的Header中:
Cache-Control:public, no-cache="Set-Cookie", max-age=60
红色为多出的部分。
Response.Cache.SetOmitVaryStar(true); 是因为以下Bug:http://www.cnblogs.com/dudu/archive/2012/08/27/asp_net_mvc_outputcache.html