我试图通过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的其他类似问题,我已经尝试了以下内容:
是否有人可能导致Cache-Control标头丢失IIS 7.5?