Файл отключения приложения (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.
ASP.NET Core