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