设置ASP.NET页面不被缓存

 /// <summary>  /// 设置页面不被缓存
  /// </summary>
  private void SetPageNoCache()
  {
  Response.Buffer = true;
  Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
  Response.Expires = 0;
  Response.CacheControl = "no-cache";
  Response.AppendHeader("Pragma", "No-Cache");
  }
  1。 取消缓存
  (2)客户端取消
  <html>
  <head>
  <meta http-equiv="Expires" CONTENT="0">
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
  <meta http-equiv="Pragma" CONTENT="no-cache">
  </head>
  (3)服务器具端取消:
  服务器端:
  Response.Buffer = true;
  Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
  Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
  Response.Expires = 0;
  Response.CacheControl = "no-cache";
  Response.Cache.SetNoStore();
  Global里面:
  protected   void   Application_BeginRequest(Object   sender,   EventArgs   e)
  {
  HttpContext.Current.Response.Cache.SetNoStore();
  }
  <%@ OutPutCache Location="None"%>
  页面基类:
  public   class   PageBase   :   Page
  {
  public   PageBase()   {}
  protected   override   OnLoad(   EventArgs   e   )   {
  Response.Cache.SetNoStore();
  base.OnLoad();
  }
  }
  最简单的办法 🙂
  学CSDN的这个论坛,在URL后面随机的加一些没用的参数,比如:
  http://xxx/xxx/xxx.jpg?p=xxx
  IE是用过URL来控制缓存的,这样就解决了

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku