海纳百川,有容乃大
善于总结,积累软财富

【标题】ASP.NET中缓存(cache)的控制方法

【内容】

   在开发Web 应用程序的时候,如果不想让客户端缓存(cache)服务器上的网页,需要在ASP.NET文件的Page_Load中写:Response.Cache.SetCacheability(HttpCacheability.NoCache);

   本人在调式代码的时候无意中发现一些有趣的东西:

      按HTTP 1.0的标准,我们可以在html网页上直接使用 <meta http-equiv="pragma" content="no-cache" />

      按HTTP 1.1的标准,我们可以用<meta http-equiv="Cache-Control" content="no-cache" />

    ASP.NET防止客户端缓存服务器上页面的方案
 
   1、在调试的过程中,在aspx页面上面的两个都给用上了,当打印Response 的Http Header的时候居然发现:
         Cache-Control:Private.
   
     本人了解ASP.NET没有办法通过程序来给Response写入pragma这个Http Header,这是为什么?

    2、只在aspx页中保留<meta http-equiv="pragma" content="no-cache" />,
         
同时,在程序中写上
Response.Cache.SetCacheability(HttpCacheability.NoCache);

   
打印出Response 的Http Header 结果如下:
               Pragma: No-Cache
               Cache-Control: No-Cache

    采用上面的方案2,虽然解决了ASP.NET在客户端不缓存服务器上页面的目的,但感觉很奇怪?方案1错在哪里,哪位知道,请赐教。

 【关键字】
         ASP.NET, .NET Framework1.1,ASP.NET缓存控制 

 

posted on 2007-02-12 15:22  海纳百川  阅读(2758)  评论(5编辑  收藏  举报

首页原创.NET区 div1
.NET新手区 div2
精华区 div3
专家区 div4
读书心得区 div5
百度主题实验室
百度主题推广 div7

-->