asp.net的缓存分为3种:
第一种:页面缓存
只需要在页面顶部加上:<%@OutputCache Duration=‘60‘ VaryByPara=‘none‘ %>
Druation:缓存时间,60秒
VaryByPara:参数,是否根据参数缓存
DisCacheEnable=‘true|false‘:缓存是否保存在磁盘
第二种:数据缓存:
1.ie缓存:当客户浏览一个页面后,ie会自动在临时文件中生成一个此页面,所以当修改了此页面数据后再次访问改页面,数据还是以前的
此时解决办法有2个,第一个是ie--Internet选项--常规---Internet缓存文件--每次访问网页时取最新版本
但是这种方法需要让客户自己设置,不是最好的解决办法;
第二个解决办法是在页面load事件里加上这句话:
Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);即可
这样Internet临时文件里就没有用户浏览的页面了,但是如果页面有图片或js文件还是会下载到internet临时文件的
2.JS中的ShowModalDialog()函数打开ASPX页面时禁止页面缓存
解决办法:
load里加上Response.expires = -1;意思是让页面立即过期;
第三种:数据源缓存:
数据源:CacheExpirationPolicy="Sliding"
采用“滑动”窗口来缓存,假设缓存时间为10分钟,那么从有人访问开始10分钟缓存,只要有人访问,10分钟就从访问这一刻开始,以此类推,可以无限缓存下去
原文:http://blog.csdn.net/zhenzhenzhao12/article/details/44901225