После публикации службы Windows AppFabric от VS с веб-развертыванием все еще использовались временные кэшированные библиотеки DLL. - PullRequest
7 голосов
/ 02 апреля 2012

У меня есть несколько постоянно работающих служб автозапуска Windows 2008 R2 AppFabric согласно этой статье . Службы различаются по типу, некоторые из них являются запланированными узлами заданий Quartz.NET, некоторые являются конечными точками NServiceBus, а некоторые - веб-службами WCF. У меня возникают проблемы с развертыванием, когда после публикации служба продолжает использовать старые библиотеки DLL. После того, как я остановил соответствующий пул приложений и очистил «C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files», используются новые развернутые библиотеки DLL. Если я не очищаю этот каталог и перезапускаю только пул приложений, иногда я получаю следующую ошибку в журнале событий:

Произошла ошибка при обработке управляемого приложения автозапуск службы для пути конфигурации: 'МАШИНА / WEBROOT / APPHOST / услуги / продукты / importing.retrieval. возвращается сообщение об ошибке: «Ошибка инициализации при пытается предварительно загрузить приложение.

Исключение: System.InvalidOperationException

Сообщение: известный объект типа 'System.Web.Hosting.PreloadHost' уже существует в этом домене приложений.

StackTrace: в System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance (String assemblyQualifiedName, Boolean failIfExists) в System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance (String assemblyQualifiedName, Boolean failIfExists) в System.Web.Hosting.ApplicationManager.CreateObjectInternal (String appId, тип Type, IApplicationHost appHost, логическое значение failIfExists, HostingEnvironmentParameters хостингParameters) в System.Web.Hosting.ProcessHost.PreloadApplicationIfRequired (String appId, IApplicationHost appHostParameter, HostingEnvironmentParameters Параметры хостинга, LockableAppDomainContext ac) в System.Web.Hosting.ProcessHost. <> C_ DisplayClasse.b _c (Object о)». Рабочий процесс будет помечен как нездоровый и будет остановлен. Поле данных содержит код ошибки.

Код ошибки указывает на эту статью , но, похоже, это не относится.

Нужно ли перезапускать пул приложений как часть конвейера веб-публикации?

Что может помочь, так это понимание того, что происходит с временными данными и пулом приложений при использовании веб-развертывания.

...