Поделиться через


Файл отключения приложения (app_offline.htm)

Примечание.

Это не последняя версия этой статьи. В текущем выпуске см . версию .NET 9 этой статьи.

Предупреждение

Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущем выпуске см . версию .NET 9 этой статьи.

Внимание

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

В текущем выпуске см . версию .NET 9 этой статьи.

Файл отключения приложения (app_offline.htm) используется модулем ASP.NET Core для завершения работы приложения.

Если в корневом каталоге приложения обнаружен файл с именем 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.