请问一下各位大哥,页面输出缓存默认情况下<%@ OutputCache Duration="60" VaryByParam="none" %> 是存在服务器端还是客户端??  如果是存在服务器端,那只要第一个用户打开这个页面,在60秒内,其他地方的用户打开这个页面,里面的东西都不会变。如果是存在客户端,那这个用户打开这个页面,60秒内,他自己再访问这个页面时,内容不会变,但其他地方的用户在这60秒内打开这个页面,文件的内容就有可能不同。是这个意思吧

解决方案 »

  1.   

    1.Location控制页面缓存的位置
    Location 含义 
    Any 默认值。意味着页面的输出可以缓存在客户端浏览器,缓存在任何“下游”的客户端(如代理服务器),或缓存在Web服务器本身 
    Client 指明输出缓存只能存储在发出请求的客户端(即浏览器)的本地缓存中 
    Downstream 指明输出缓存能存储在任何支持HTTP1.1缓存的设备(如代理服务器)中 
    Server 指明输出缓存将存储在Web服务器上 
    None 指明该页面禁用输出缓存 2.即使保存在服务端,也是和会话绑定的,不会影响其他用户
      

  2.   

    感谢楼上大哥的帮助,这些数据我知道一些,但我还是要问一句,Any 默认值。意味着页面的输出可以缓存在客户端浏览器,缓存在任何“下游”的客户端(如代理服务器),或缓存在Web服务器本身 。那既然有那么多地方都是可以缓存的,那不可能在服务器缓存一个,客户端浏览器缓存一个,任何下游的客户端又缓存一个吧,它总有一个默认的最有先的缓存地方吧
      

  3.   

    OutputCacheLocation.Any:输出缓存可位于产生请求的浏览器客户端、参与请求的代理服务器(或任何其他服务器)或处理请求的服务器上。此值对应于 HttpCacheability.Public 枚举值。以指定响应能由客户端和共享(代理)缓存进行缓存。
    这里面有一个策略哪些位置放置那些数据的,获取这些缓存的时候也会根据这些策略来获取的。