[ASP.NET Core] Автономный файл приложения (app_offline.htm)

Если Jenkins не сможет выполнить CI, возможно, app_offline.htm не будет автоматически удален, что приведет к ненормальной работе приложения ASP.NET Core. После успешного выпуска файл необходимо удалить вручную.

Обзор

Во многих случаях необходимо перевести веб-приложение в автономный режим на время внесения изменений в связанные компоненты, такие как базы данных или веб-службы. Обычно в IIS и ASP.NET это достигается путем размещения файла с именем App_offline.htm в корневой папке веб-сайта IIS или веб-приложения. Файлы App_offline.htm — это стандартные HTML-файлы, которые обычно содержат простое сообщение, информирующее пользователей о том, что сайт временно недоступен из-за технического обслуживания. Хотя файл App_offline.htm существует в корневой папке веб-сайта, IIS автоматически перенаправляет к нему любые запросы. После завершения обновления файл App_offline.htm будет удален, и сайт возобновит обработку запросов в обычном режиме.

Если в корневом каталоге приложения обнаружен файл с именем «app_offline.htm», модуль ASP.NET Core попытается корректно завершить работу приложения и прекратить обработку входящих запросов. Если приложение все еще работает по истечении количества секунд, определенного в параметре ShutdownTimeLimit, модуль ASP.NET Core останавливает запущенный процесс.

При наличии файла app_offline.htm модуль ASP.NET Core отвечает на запрос, отправляя обратно содержимое файла app_offline.htm. app_offline.htm должен быть меньше 4 ГБ. После удаления файла app_offline.htm следующий запрос запустит приложение.

При использовании модели внепроцессного хостинга приложение может не закрыться немедленно, если есть открытые соединения. Например, соединение WebSocket может задержать закрытие приложения.

Заблокированный файл развертывания

Если приложение запущено, файлы в папке развертывания заблокированы. Заблокированные файлы не могут быть перезаписаны во время развертывания.

app_offline.htm — это основной механизм освобождения заблокированных файлов. app_offline.htm используется веб-развертыванием для правильной остановки и запуска приложения.

app_offline.htm можно использовать для запуска и остановки приложения вручную (требуется PowerShell 5 или более поздней версии):

$pathToApp = '{PATH TO APP}'


New-Item -Path $pathToApp -Name "app_offline.htm" -ItemType "file"

# Provide script commands here to deploy the app

Remove-Item -Path $pathToApp\app_offline.htm

В приведенном выше сценарии PowerShell:

  • Заполнитель {PATH TO APP} — это путь к приложению.
  • Команда New-Item останавливает пул приложений.
  • Команда Remove-Item запускает пул приложений.
  • Разработчики предоставляют команды между командой New-Item и командой Remove-Item для развертывания приложений.

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

источник

Автономный файл приложения (app_offline.htm)
переводит веб-приложение в автономный режим с помощью веб-развертывания.

おすすめ

転載: blog.csdn.net/weixin_44231544/article/details/133083996