[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:

 

Mvc4页面缓存设置Cookie导致缓存失效_其他   作者:NewSea    

  如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。