方法一:导航时用服务器端的Response.Redirect方法,或者用前端得window.location.replace方法。
方法二:禁用ASP.NET页面缓存。
在必要的时候我还是推荐方法二的。因为我们做开发的不能控制浏览器的设置。用户如果把IE设置为从不检查更新缓存的问题则不好避免,所以还是用方法二,让IE的临时文件夹不存在页面文件。
另外,是否禁用页面缓存要根据实际情况来说,起初我认为页面缓存只是缓存在服务器,后来看了一篇blog
发现缓存的意义还是很大的。在很多情况下可以大大减小服务器的压力。只不过开发过程中要多多从需求出发,不能盲目的设置什么属性。
直接在浏览器中禁止
代码如下 | 复制代码 |
<html> <head> <meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache"> </head> |
asp.net中禁止页面缓存
服务器端
代码如下 | 复制代码 |
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(); } |
Aspx页面
代码如下 | 复制代码 |
<%@ OutPutCache Location="None"%> |
C#中禁止cache的方法!
代码如下 | 复制代码 |
Response.Buffer=true; Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1); Response.Expires=0; Response.CacheControl="no-cache"; |
时间: 2024-10-03 16:09:21