发布VS2012后缓存的旧IIS站点

本文关键字:IIS 站点 缓存 VS2012 发布 | 更新日期: 2023-09-27 18:08:33

我习惯了让IIS在任何时候自动重置一个网站的任何"关键"文件更改(如DLL在bin文件夹或更改web.config)。因此,每当我使用VS2012"发布"网站时-目标IIS网站(即使它在另一台服务器上)总是重新启动自己,以便可以进行额外的测试。

由于某些原因,我这周正在做的一个项目没有这样做。我可以完全删除并重新发布站点,但IIS仍然提供"旧"内容,直到我回收相关的appool。当我回收AppPool时,它会可靠地更新-并且在我这样做之前不会可靠地更新(似乎不管磁盘上有哪些文件)。

就好像它在缓存我的整个ASP。NET 3.5网站。我已经使用IIS将近20年了,我从来没有见过它有这样的行为。

任何建议/想法吗?

发布VS2012后缓存的旧IIS站点

该语句允许您以编程方式回收AppDomain(类似于回收整个AppPool,但只涉及当前应用程序,因此其他任何内容都不会受到影响)

HttpRuntime.UnloadAppDomain();

我通常在我的项目中#if(DEBUG),这样它就不会离开开发环境。