发布VS2012后缓存的旧IIS站点

时间:2013-04-10 14:59:53

标签: c# asp.net caching iis

我习惯让IIS在任何“密钥”文件发生变化时自动重置网站(例如bin文件夹中的DLL或更改为web.config)。因此,每当我使用VS2012“发布”网站时 - 目标IIS站点(即使它位于另一台服务器上)总是重新启动,以便可以进行额外的测试。

由于某种原因,本周我正在做的一个项目不是这样做的。我可以完全删除并重新发布该站点 - 然而IIS继续提供“旧”内容,直到我回收相关的AppPool。它在我回收AppPool时可靠地更新 - 并且在我这样做之前可靠地不会更新(看起来无论磁盘上有哪些文件)。

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

有任何建议/想法吗?

1 个答案:

答案 0 :(得分:1)

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

HttpRuntime.UnloadAppDomain();

我通常#if(DEBUG)在我的项目中,所以它不会脱离开发环境。