微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

处理用户返回到在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

原文地址:https://www.jb51.cc/aspnet/247716.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐