Запрет IIS от выгрузки сайта ASP.Net - PullRequest
8 голосов
/ 05 мая 2011

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

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

В IIS я вошел в его пул приложений и установил для Idle Timeout значение 0, а для параметра «Сгенерировать повторную запись в журнале событий> Обычный интервал времени» задано значение «False».

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

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

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

Ответы [ 2 ]

15 голосов
/ 05 мая 2011

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

0 голосов
/ 28 октября 2011

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

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

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

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

...