asp.net - IIS 8.5 服务旧文件

标签 asp.net caching iis

我在 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/

相关文章:

ASP.NET 站点在开发过程中自动登录

jquery - jquery 中的缓存选择器与链接选择器?

IIS URL 重写改为重定向

asp.net - 在 ASP.NET 中创建 JSON Web 服务的最佳方法?

c# - 当安全答案正确时,ASP.NET ResetPassword 抛出 MembershipPasswordException

asp.net - 我们可以在 ASP.Net WEB API 中使用存储库模式和工作单元吗?

java - 用于存储对象的并发集合

php - 不同的文件缓存方法,优缺点

php - 从本地网站执行 PHP 时,Windows 7 上 IIS 的本地主机上的 mysqli_connect 失败

iis - Umbraco - 尝试在 Visual Studio Code 中运行 'IIS Express: Start Website' 时出错