Развертывание предварительно скомпилированного обновления для веб-приложения .NET? - PullRequest
1 голос
/ 16 марта 2012

У нас есть несколько веб-приложений в .NET 4.0 (написанных с использованием Visual Studio 2010), которые предварительно скомпилированы и развернуты на рабочих серверах.

В настоящее время при обновлении мы заменяем все существующие файлы обновленными двоичными файлами. Это обновляет приложение, но также перезапускает приложение, поэтому все пользователи должны снова войти в систему.

Развернутые двоичные файлы в основном состоят из одной .dll для каждого проекта в моем решении.

Есть ли способ обновить веб-приложение, не прерывая работу существующих пользователей?

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

1 Ответ

6 голосов
/ 18 марта 2012

Это поддерживается в CLR с помощью свойства AppDomainSetup.ShadowCopyFiles.При включении CLR делает копию сборки перед загрузкой.Таким образом, только копия заблокирована, а оригинал может быть перезаписан.Эта функция специально разработана для ASP.NET, хоста CLR, который легко перерабатывает домены приложений.Об этом есть отличная статья MSDN , в которой показано, как ее настроить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...