• 浅析ASP.NET页面缓存的几点体会


    尽管本文的作者写的很简单,但是相信通过这些文字,还是能对大家了解ASP.NET页面缓存有很大的帮助。

    前几天遇到个问题,百思不得其解。后来查阅了一些资料心里才有了点思路。把自己遇到的问题记录下来希望能给其他的园友一些帮助吧。

    事情是这样的。我的一个ASP.NET页面用window.open导航后再次访问时没有得到更新,确切的说是再次访问时根本就没有访问服务器。可是这个现象在我的机器上并没有出现,而项目组中其他的机器都有此问题。当时我这个郁闷呐,因为不方便调试,最后就在页面上输出好多alert。终于在几次试验之后发现了问题的所在。

    其主要问题就是IE缓存了页面,当服务器端出现更新时IE并没有检查到。我的机器没有问题是因为我的ie设置为每次访问页面都要检查更新,他们的则是自动检查更新。由于我再次导航到页面用的是前端的window.open方法,此方法不能使浏览器的自动检查起作用。

    上面的叙述比较乱,不知道大家能不能看懂。下面我说下具体的解决方法吧。

    方法一:导航时用服务器端的Response.Redirect方法,或者用前端得window.location.replace方法。

    方法二:禁用ASP.NET页面缓存。

    在必要的时候我还是推荐方法二的。因为我们做开发的不能控制浏览器的设置。用户如果把IE设置为从不检查更新缓存的问题则不好避免,所以还是用方法二,让IE的临时文件夹不存在页面文件。

    另外,是否禁用页面缓存要根据实际情况来说,起初我认为页面缓存只是缓存在服务器,后来看了一篇blog

    发现缓存的意义还是很大的。在很多情况下可以大大减小服务器的压力。只不过开发过程中要多多从需求出发,不能盲目的设置什么属性。

    原文标题:asp.net页面缓存的学习

    链接:http://www.cnblogs.com/417533880/archive/2009/10/09/1579629.html

  • 相关阅读:
    struts1与struts2的差别
    UVA 1563
    项目开发相关规范
    互联网产品的測试
    虚拟机器人
    Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataPro
    HDU 1429--胜利大逃亡(续)【BFS && 状态压缩】
    自己写的php curl库实现整站克隆
    设置字符串中某些字符的特殊效果
    Objective-C学习笔记(二十二)——初始化方法init的重写与自己定义
  • 原文地址:https://www.cnblogs.com/soundcode/p/1920777.html
Copyright © 2020-2023  润新知