我在 Windows Server 2012 IIS 8.5 上有一个 clickonce 应用程序。我最近将它更新到一个新版本,它工作正常,除了第二个网页使用一个 URL 链接到它。它直接链接到 .application 文件,当我使用该链接时,我得到了该文件的 2.1.0.10 版本,而不是服务器版本 3.1.0.1 的那个。
只有在使用该链接时,其他 url 的服务器才是正确的文件。我什至在两台服务器上都停止了网站(负载平衡),链接仍然以某种方式下载旧文件。
我在 IIS 的输出缓存设置下关闭了缓存和内核缓存,我将通用 HTTP 响应 header 设置为立即过期 Web 内容,但它仍在提供旧文件,即使它不再存在。我有一个用于该特定 url 的 url 重写规则,以重定向到一个有效的 URL,但我仍然下载一个旧文件。
我已经重新启动了 IIS 和服务器本身,但没有任何改变。然后我尝试将文件复制到一个新文件夹并在 IIS 中创建一个新站点。我复制了绑定(bind)并停止了旧站点和应用程序池。仍然得到旧文件。
谁能帮我弄清楚IIS发生了什么?即使网站停止,它如何提供不存在的文件?我怎样才能让它更新?
最佳答案
我遇到了同样的问题并尝试了这里(以及其他地方!)提到的所有内容,最后发现原因是 IIS 压缩缓存!
在 IIS 控制台上,单击网站,然后单击压缩,然后取消选中 启用静态内容压缩 .
这应该可以解决问题。
关于asp.net - IIS 8.5 服务旧文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671919/