设置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来控制缓存的,这样就解决了