从VS发布Windows AppFabric服务后,仍然使用Web部署临时缓存的DLL

eul*_*rfx 7 iis windows-server-2008-r2 appfabric

我根据本文部署了一些Windows 2008 R2 AppFabric始终运行的自动启动服务.服务类型不同,有些是计划的Quartz.NET作业主机,有些是NServiceBus端点,有些是WCF Web服务.我遇到了部署问题,在发布服务后继续使用旧的DLL.一旦我停止相应的应用程序池并清除"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files",就会使用新部署的DLL.如果我不清除该目录并仅重新启动应用程序池,则有时我在事件日志中收到以下错误:

在处理配置路径的托管应用程序服务自动启动期间出错:'MACHINE/WEBROOT/APPHOST/services/products/imports.retrieval'.返回的错误消息是:'尝试预加载应用程序时发生初始化错误.

例外:System.InvalidOperationException

消息:此应用程序域中已存在类型为"System.Web.Hosting.PreloadHost"的已知对象.

StackTrace:位于System.Web.HostingEnvironment.HretingWell的一个System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance(String assemblyQualifiedName,Boolean failIfExists)的System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId,在System.Web.Hosting.ProcessHost上的System.Web.Hosting.ProcessHost.PreloadApplicationIfRequired(String appId,IApplicationHost appHostParameter,HostingEnvironmentParameters hostingParameters,LockableAppDomainContext ac)中输入类型,IApplicationHost appHost,Boolean failIfExists,HostingEnvironmentParameters hostingParameters.<> c_ DisplayClasse.b _c(对象o)'.工作进程将被标记为不健康并将被关闭.数据字段包含错误代码.

错误代码指向本文,但似乎不适用.

我应该将应用程序池重新启动作为Web发布管道的一部分吗?

可能有用的是准确了解在使用Web部署时临时数据和应用程序池会发生什么.