我是ASP.Net MVC 5的初学者。我在某些控制器操作中应用了缓存。现在我想要一个动作来清除客户端缓存。如何实现它。 这就是我现在所拥有的:
[OutputCache(Duration = 10800, Location = OutputCacheLocation.Client)]
public PartialViewResult Temp()
{
return PartialView("Index", data);
}
链接我看了一下: ClearCache
它有一个解决方案,告诉您使用:Response.Cache.SetNoStore
但它会告诉客户永远不会缓存吗?我迷失在这里。请指导我。在某些情况下,我只想清除缓存。在其他情况下,缓存应按预期进行。
答案 0 :(得分:0)
在布局页面中添加此meta
标记(在html头中):
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
并添加golbal.asax.cs
:
protected void Application_AcquireRequestState(Object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache, no-store, must-revalidate");
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("Expires", "0");
}