ASPを設定する.NETページがキャッシュされない(クライアント/サーバ側キャッシュ解除方法)

1632 ワード

 
  
///
///
///

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)クライアントキャンセル
 
  







(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();
}


ページベースクラス:
 
  
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でキャッシュを制御しているので解決