Когда именно вызывается Application_End и как я могу вызвать это вручную? - PullRequest
7 голосов
/ 05 июня 2009

Я знаю, что обработчик события для этого события вызывается, когда пул приложений перезапускается IIS, но когда это происходит? А что если использовать встроенный сервер Visual Studio (Cassini)? Если я убью процесс сервера, будет ли запущен Application_End?

ОБНОВЛЕНИЕ: Я знаю об изменениях в папке web.config и BIN. Меня интересует случай закрытия пула после того, как приложение какое-то время простаивает, ничего не трогая.

Ответы [ 2 ]

7 голосов
/ 05 июня 2009

Как и Ник сказал , "Пул приложений будет перезагружен, когда ... некоторые из ограничений на пересылку будут достигнуты в конфигурации пула приложений". В IIS вы можете установить условия утилизации в настройках пула приложений. Вы можете использовать фиксированные интервалы (каждые X минут или запросов), определенное время дня или максимумы в мегабайтах в памяти (макс. Виртуальная память или макс. Личная память) или их комбинацию. Вы также можете установить время простоя в минутах, после которого рабочий процесс завершается.

IIS Recycling Settings

IIS Advanced Settings

5 голосов
/ 05 июня 2009

Пул приложений будет перезагружаться при изменении web.config или каталога / bin, или если в конфигурации пула приложений будут достигнуты некоторые ограничения перезапуска. То же самое относится и к Cassini, за исключением того, что у него нет пула приложений, поэтому он будет запускаться каждый раз при изменении каталога web.config или / bin. Я не уверен насчет убийства Кассини.

...