我正在寻找一种方法来禁用整个ASP.NET MVC网站的浏览器缓存
我找到了以下方法:
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Run Code Online (Sandbox Code Playgroud)
还有一个元标记方法(它对我不起作用,因为一些MVC动作通过Ajax发送部分HTML/JSON,没有头部元标记).
<meta http-equiv="PRAGMA" content="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种简单的方法来禁用整个网站的浏览器缓存.
我需要使我的内容过期,以便当用户点击浏览器导航(后退)按钮时,控制器操作将被执行.因此,不是将以下代码添加到每个
操作,而是更好的方法.
HttpContext.Response.Expires = -1;
HttpContext.Response.Cache.SetNoServerCaching();
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
Run Code Online (Sandbox Code Playgroud) 在线考试一旦候选人点击了开始按钮,我就不想让他回去(到以前的页面),如果他通过使用浏览器属性做任何活动,他应该在同一页面.一旦他点击提交按钮,他就是走出那个页面.
在这里,如果我清除缓存并按下浏览器后退按钮,页面显示为" 文档已过期所请求的文档在Firefox的缓存中不可用. "因此我不想清除cach insted我需要竞争禁用后退按钮,即不应该发生任何事情单击后退按钮.
如果有人知道让我知道如何实现这个概念......