C# 发布VS2012后缓存的旧IIS站点

C# 发布VS2012后缓存的旧IIS站点,c#,asp.net,caching,iis,C#,Asp.net,Caching,Iis,我习惯让IIS在网站的任何“关键”文件更改时(例如bin文件夹中的DLL或web.config的更改)自动重置网站。因此,每当我使用VS2012“发布”网站时,目标IIS站点(即使它位于另一台服务器上)总是会重新启动自身,以便进行额外的测试 出于某种原因,我这周正在做的一个项目没有这样做。我可以完全删除并重新发布该网站,但IIS会一直提供“旧”内容,直到我回收关联的应用程序池。当我回收AppPool时,它会可靠地更新,并且在我这样做之前不会可靠地更新(似乎不管磁盘上有哪些文件) 就好像它在缓存我

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

出于某种原因,我这周正在做的一个项目没有这样做。我可以完全删除并重新发布该网站,但IIS会一直提供“旧”内容,直到我回收关联的应用程序池。当我回收AppPool时,它会可靠地更新,并且在我这样做之前不会可靠地更新(似乎不管磁盘上有哪些文件)

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


有什么建议/想法吗?

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


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

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


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

我会尝试一下!谢谢听起来很好。我会试试的!谢谢听起来很完美。
HttpRuntime.UnloadAppDomain();