程序猿刚子的博客

大龄程序猿,分享互联网开发相关知识!前端、后端,架构等内容,欢迎关注公众号 chengxuyuangangzi

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在设置Response缓存头的时候有两种调用方法:

  1. Response.Headers.Add(string key, string value)
  2. Response.Cache.SetMaxAge(DateTime)

 

在程序中的应用中遇到2个问题,都是很奇怪的

  1. 我Response.AddHeader("Last-Modified", GTMTtimeString)然后又设置了 Response.Cache.SetMaxAge(new TimeSpan(7, 0, 0, 0))
    结果在输出中 是没有第一个头的,后来Response.Cache.SetLastModified(lastModified) 就可以了
    猜测:不能用两种方式输出头
  2. 由于项目要求用把cache-control设置为public,于是我首先Response.Cache.SetCacheability(HttpCacheability.Public),然后出现了奇怪的问题
    由于我的程序是一个Handler处理程序,发来的ashx请求就不更新了,每次都返回同一个内容,强刷时内容更新,后了解到原来HttpCacheability.Public这个设置中已经启动了
    服务器端缓存,因此我第一次后的返回结果都是server端的缓存

     
posted on 2012-03-01 14:50  程序猿刚子  阅读(286)  评论(1编辑  收藏  举报