Назад | Перейти на главную страницу

Пул приложений IIS запускается с app_offline.htm в папке приложения

У меня Win Server 2016 с IIS, все обновления применяются с этой даты. Во время обновления работающих там сайтов я ставил app_offline.htm в папке приложения, чтобы остановить пул приложений.

Для одного конкретного приложения размещение файла не остановит его. Мне нужно открыть диспетчер задач, убить его один раз, затем он перезапустится (с файлом app_offline), веб-сайт остается открытым, как обычно, затем я закрываю его во второй раз, а затем он остается остановленным для выполнения обновления.

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

Любые идеи?

Проблема заключалась в ограничении отключения по умолчанию для приложения, который задокументирован как 10 секунд по умолчанию, но, очевидно, занимало гораздо больше времени. При явной установке значения в web.config приложение завершает работу не более чем через 10 секунд, что дает мне возможность выяснить, почему приложение не закрывается раньше, но, по крайней мере, app_offline.htm работает должным образом с этим изменением:

<system.webServer>
  <aspNetCore ... shutdownTimeLimit="10" />
</system.webServer>