缓存控制IIS 7.5

时间:2012-04-16 12:58:38

标签: asp.net iis-7.5 cache-control

我试图通过HTTP处理程序控制我的asp.net网站上的资源缓存(更正:它实际上和HTTP模块。)具体来说,处理程序的相关部分如下所示:

HttpCachePolicy cache = context.Response.Cache;
cache.SetCacheability(HttpCacheability.Public);
cache.SetExpires(DateTime.Now.AddDays(30));
cache.SetValidUntilExpires(true);
cache.SetNoServerCaching();
cache.SetMaxAge(new TimeSpan(30, 0, 0, 0));
cache.SetSlidingExpiration(true);

Asp.net开发服务器上的一切都很好,我可以看到带有Firebug的Cache-Control标头:

Cache-Control   public, max-age=2592000

但是,当我在IIS 7.5上部署项目时,Cache-Control标头会从响应标头中神秘地消失。

此外,Expires默认为1天而不是我在上面代码中设置的30天 - 这对于Asp.net开发服务器和IIS 7.5都会发生

根据关于SO的其他类似问题,我已经尝试了以下内容:

  1. 删除了web.config
  2. 中的OutputCache http模块
  3. 应用程序池设置为在集成模式下运行
  4. 是否有人可能导致Cache-Control标头丢失IIS 7.5?

0 个答案:

没有答案