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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的asp.Net相关文章