在IIS 7中禁用静态内容caching

我是一名开发人员,他在Windows Server 2008 R2上的IIS 7中应该是一个相对简单的问题。 问题是IIS 7过度地caching服务器上的所有静态内容。 它caching所有.html和.js内容,并且在内容在磁盘上更改时不会注意到,除非我是iisreset。

我已经尝试了以下内容:

  1. 在我的浏览器中删除本地caching(我99%肯定这是一个服务器caching问题)
  2. 在输出caching的IISpipe理中,添加一个.html扩展名,取消选中“用户模式caching”,取消选中“内核模式caching”
  3. 在输出caching的IIS Admin中,添加一个.html扩展名,并选中“用户模式caching”并select“防止所有caching”
  4. 在IISpipe理编辑输出cachingfunction设置,并取消选中“启用caching”和“启用内核cachingOutputCaching下。
  5. 运行“C:\ Windows \ System32 \ inetsrv \ config \ appcmd set config”SharePoint – 80“-section:system.webServer / caching -enabled:false”
  6. 通过applicationHost.config查看并禁用任何与caching相关的任何内容。

似乎没有任何工作。 我感到非常沮丧。 任何人都可以请帮忙?

我真的很想从applicationhost.config和web.config中看到system.webServer/caching部分。 如果可以,请粘贴它们。 通过运行上面的appcmd命令,您刚刚禁用了用户模式caching,您仍然启用了内核caching。 另外,如果您确实想在Web站点或服务器级别禁用caching,只需更改以下内容:

 <system.webServer> <caching enabled="false" enableKernelCache="false" /> </system.webServer> 

你也可以使用Fiddler工具来validation内容是否真的被caching,也就是说它是否会返回你的内容。

在服务器上,如果你运行'netsh http show cache',你看到任何caching的条目? 如果是这样,那么您还没有成功禁用Web服务器上的输出caching。

而只需0.02美元,以检查你的处理程序是你期望的处理程序。

静态文件通常由静态文件处理程序提供。 如果你做了一些疯狂的事情,比如创build一个通配符脚本映射,或者为所有文件types和动词注册一个模块。