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