asp缓存类
1. ASP.NET几种清除页面缓存的方法
在asp.net中使用模式dialog时,你会发现每次打开的页面都是相同的内容,页面内容并没有刷新,这是缓存的原因造成的,
解决方法如下:
第一种是ASP.NET清除页面缓存
Response.Buffer
=
true;
Response.ExpiresAbsolute
=
System.DateTime.Now.AddSeconds(-1);
Response.Expires
=
0;
Response.CacheControl
=
"no-cache";
Response.AddHeader("Pragma",
"No-Cache");
第二种是HTML方法
最后一种是在在页面中禁用缓存
在web开发中合理使用缓存可以有效的提高网站的性能,但是在某些场合下因为缓存的存在会带来很多的问题。
例如:因为缓存的存在会造成重复提交数据的问题,验证码图片不能正确显示的问题
,等等。这个时候我们就要禁用页面缓存的功能。
我们常用的做法是发送一个no-cache的指令,但是实际使用过程中我们发现,这个指令对IE是有效的,但是对Firefox却没有效,这是因为,使用该指令Firefox不缓存HTTPS
pages
但是还是会缓存HTTP
pages
,这是Firefox的一个BUG,解决的办法很简单,就是使用no-store代替no-cache,同时发送no-store和no-cache指令
ASP.net中的处理方法,在不需要缓存的页面中添加如下代码
2. asp中如何清除浏览器缓存
<%
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
%>
可以让浏览器不缓存,但不能主动让浏览器清除缓存。
3. ASP如何清除页面缓存
先说方法,直接在页头(注意是页头)加下如下代码:
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"
Response.AddHeader"Pragma","no-Cache"
接下来我们了解一下ASP输出对象response的以下几个属性:
ExpiresAbsolute :属性指定缓存于浏览器中的页的到期日期和时间。
Expires: 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本
CacheControl:决定代理服务器是否能缓存 ASP 生成的输出
那结合以上三个属性,我们在页头加上这样的代码:
response对象还有一个属性:
Buffer 属性指示是否缓冲页输出。当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端。
服务器将输出发送给客户端后就不能再设置 Buffer 属性。因此,应该在 .asp 文件的第一行调用 Response.Buffer