Запрет IIS от выгрузки сайта ASP.Net

Как предотвратить разгрузку сайта ASP.Net с помощью IIS?

У меня есть самый тупой веб-сайт в мире - раз в час он просыпается и записывает метку времени в файл журнала. Когда приложение запускается, оно говорит об этом с отметкой времени в журнале, а когда оно умирает, то же самое.

В IIS я вошел в его пул приложений и установил для Idle Timeout значение 0, а для параметра Generate Recycle Event Log Entry > Regular Time Interval - значение False.

Тем не менее, сайт по-прежнему выгружается примерно один раз в день - в журнале я получаю запись App Unloading..., и он остается мертвым до следующего посещения.

Как я могу предотвратить его разгрузку?

(Очевидно, что этот сайт будет делать больше, как только я решу эту проблему - на данный момент выявить проблему как можно проще).

2 ответа

Решение

У пула приложений есть другое свойство, которое заставляет его автоматически перерабатываться каждые N минут (по умолчанию 1740 или каждые 29 часов). Установите это ноль, чтобы отключить перезапуск. Свойство (на IIS7) находится под заголовком "Переработка" и называется "Регулярный интервал времени (минуты)"

В дополнение к рекомендации @jlew, руководство в этой статье важно, если вы выполняете фоновую задачу / таймер постоянно / периодически в ASP.Net без бремени установки / настройки / обслуживания служб Windows и запланированных задач:

http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

Он включает в себя полезную вспомогательную библиотеку, WebBackgrounder, которая абстрагирует рекомендации в статье по корректному завершению работы и некоторым типичным потребностям / потребностям фоновой задачи.

Он не настраивает IIS для вас - вам нужно изменить настройки утилизации самостоятельно.

Другие вопросы по тегам