加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?

发布时间:2020-12-16 04:15:43 所属栏目:asp.Net 来源:网络整理
导读:处理用户返回到在asp.net应用程序中缓存项目的页面的最佳方法是什么?有没有一种很好的方法来捕获后退按钮(事件?)并以这种方式处理缓存? 解决方法 如果有帮助,您可以尝试使用 HttpResponse.Cache property: Response.Cache.SetExpires(DateTime.Now.AddSe
处理用户返回到在asp.net应用程序中缓存项目的页面的最佳方法是什么?有没有一种很好的方法来捕获后退按钮(事件?)并以这种方式处理缓存?

解决方法

如果有帮助,您可以尝试使用 HttpResponse.Cache property:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(false);
Response.Cache.VaryByParams["Category"] = true;

if (Response.Cache.VaryByParams["Category"])
{
   //...
}

或者可以使用HttpResponse.CacheControl完全阻止页面的缓存,但是它已经被弃用,而不是上面的Cache属性:

Response.CacheControl = "No-Cache";

编辑:或者你真的可以go nuts并且手动完成所有操作:

Response.ClearHeaders();
Response.AppendHeader("Cache-Control","no-cache"); //HTTP 1.1
Response.AppendHeader("Cache-Control","private"); // HTTP 1.1
Response.AppendHeader("Cache-Control","no-store"); // HTTP 1.1
Response.AppendHeader("Cache-Control","must-revalidate"); // HTTP 1.1
Response.AppendHeader("Cache-Control","max-stale=0"); // HTTP 1.1 
Response.AppendHeader("Cache-Control","post-check=0"); // HTTP 1.1 
Response.AppendHeader("Cache-Control","pre-check=0"); // HTTP 1.1 
Response.AppendHeader("Pragma","no-cache"); // HTTP 1.1 
Response.AppendHeader("Keep-Alive","timeout=3,max=993"); // HTTP 1.1 
Response.AppendHeader("Expires","Mon,26 Jul 1997 05:00:00 GMT"); // HTTP 1.1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读