页面缓存的困扰

来源:互联网 发布:淘宝网非洲鼓 编辑:程序博客网 时间:2024/04/28 03:48

相信做Web的大多都遇到过类似的问题,IE在打开一个页面的时候默认会从临时文件中先找以前的临时文件,如果有则直接从临时文件中取而不从服务器下载。对于动态页面来说,这简直是个恶梦。虽然可以通过Internet选项中的设置来禁止从临时文件中获取页面,但我们却没办法强迫每个客户都更改自己的IE设置。

对于以上的问题,在每个页面的Page_Load第一行加
  Response.Expires=-1;
但是在MSDN中可以看到下面的话:Expires、ExpiresAbsolute 和 CacheControl 属性已被否决,转而使用 HttpCachePolicy 类的方法(可通过 Cache 内部对象获得)来控制 IIS 输出缓存和客户端缓存。
因此我们将那行代码改为
  Response.Cache.SetExpires(DateTime.MinValue);
可是在每个页面都加上这么一句,却显的很麻烦,因为我们从Page类中派生一个子类MyPage,在该类中重写OnLoad方法,把那行代码写在这里,然后每个页面继承自MyPage就可以了。
有人可能觉得写一个自定义的Page派生类很麻烦,其实这么做还是有很大好处的。

 
原创粉丝点击