我根据this article部署了一些Windows 2008 R2 AppFabric始终运行的自动启动服务。服务类型不同,有些是计划的Quartz.NET作业主机,有些是NServiceBus端点,有些是WCF Web服务。我遇到了部署问题,在发布服务后继续使用旧的DLL。一旦我停止相应的应用程序池并清除" C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files"使用了新部署的DLL。如果我没有清除该目录并且只重新启动应用程序池,那么有时我在事件日志中收到以下错误:
在处理托管应用程序期间出错 配置路径的服务自动启动: '机械/ WEBROOT / APPHOST /服务/产品/ importing.retrieval&#39 ;.该 返回的错误消息是:'发生初始化错误 试图预加载一个应用程序。
异常:System.InvalidOperationException
消息:类型为#System; Web.Hosting.PreloadHost'的众所周知的对象 已存在于此App域中。
StackTrace:at System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance(字符串 assemblyQualifiedName,Boolean failIfExists)at System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance(字符串 assemblyQualifiedName,Boolean failIfExists)at System.Web.Hosting.ApplicationManager.CreateObjectInternal(字符串 appId,Type type,IApplicationHost appHost,Boolean failIfExists, HostingEnvironmentParameters hostingParameters)at System.Web.Hosting.ProcessHost.PreloadApplicationIfRequired(字符串 appId,IApplicationHost appHostParameter,HostingEnvironmentParameters hostingParameters,LockableAppDomainContext ac)at System.Web.Hosting.ProcessHost<> C_ DisplayClasse.b _c(对象 ○)&#39 ;.工作进程将被标记为不健康并将被关闭。 数据字段包含错误代码。
错误代码指向this article,但这似乎并不适用。
我是否应该将应用程序池作为Web发布管道的一部分重新启动?
使用Web部署时,确切了解临时数据和应用程序池会发生什么可能会有所帮助。