控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

asp.net页面缓存的学习

作者:Forrest Liu 出处:博客园 2010年02月03日 阅读:

前几天遇到个问题,百思不得其解。后来查阅了一些资料心里才有了点思路。把自己遇到的问题记录下来希望能给其他的园友一些帮助吧。
事情是这样的。我的一个asp.net页面用window.open导航后再次访问时没有得到更新,确切的说是再次访问时根本就没有访问服务器。可是这个现象在我的机器上并没有出现,而项目组中其他的机器都有此问题。当时我这个郁闷呐,因为不方便调试,最后就在页面上输出好多alert。终于在几次试验之后发现了问题的所在。
其主要问题就是ie缓存了页面,当服务器端出现更新时ie并没有检查到。我的机器没有问题是因为我的ie设置为每次访问页面都要检查更新,他们的则是自动检查更新。由于我再次导航到页面用的是前端的window.open方法,此方法不能使浏览器的自动检查起作用。
上面的叙述比较乱,不知道大家能不能看懂。下面我说下具体的解决方法吧。
方法一:导航时用服务器端的Response.Redirect方法,或者用前端得window.location.replace方法。
方法二:禁用页面缓存。
在必要的时候我还是推荐方法二的。因为我们做开发的不能控制浏览器的设置。用户如果把ie设置为从不检查更新缓存的问题则不好避免,所以还是用方法二,让ie的临时文件夹不存在页面文件。
另外,是否禁用页面缓存要根据实际情况来说,起初我认为页面缓存只是缓存在服务器,后来看了一篇blog
发现缓存的意义还是很大的。在很多情况下可以大大减小服务器的压力。只不过开发过程中要多多从需求出发,不能盲目的设置什么属性。

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统