Как определить время жизни домена приложения ASP.NET - PullRequest
6 голосов
/ 22 сентября 2010

У нас есть приложение, собирающее статистику счетчиков, и мы хотим, чтобы значения сбрасывались после выполнения команды iisreset, и все.

Microsoft говорит, что Application_Start - это:

Вызывается при запросе первого ресурса (например, страницы) в приложении ASP.NET.Метод Application_Start вызывается только один раз в течение жизненного цикла приложения .Вы можете использовать этот метод для выполнения задач запуска, таких как загрузка данных в кэш и инициализация статических значений.

Вот как мы это делаем в настоящее время:они сбрасываются с неожиданными интервалами.Что определяет, когда заканчивается жизненный цикл домена приложения и этот метод вызывается при следующем запросе?

Ответы [ 2 ]

7 голосов
/ 22 сентября 2010

Существует множество причин, по которым веб-приложение перезапускается. Эта статья включает следующий частичный список.

  • редактируется web.config

  • отредактирован файл machine.config

  • отредактирован global.asax

  • файлы изменены в корзине
    каталог веб-приложения или один из
    подкаталоги бункера

  • каталог создан, переименован или
    удален в каталоге веб-приложения

  • файл ASP.NET (aspx, asmx и т. Д.) отредактировано (и, следовательно, перекомпилировано)
    более 20 раз, по умолчанию установлен в конфигурация машины как элемент
    numRecompilesBeforeApprestart с именем

  • в виде настроек различных
    атрибуты в
    элемент в machine.config, который влияет на перезапуск / выключение
    сам рабочий процесс. В Windows
    2003, когда не используется изоляция IIS5
    режим (который не используется по умолчанию), эти элементы
    игнорируется и вместо этого в
    Пулы приложений в диспетчере IIS используется

Я предполагаю, что ваш подход хорош, но теперь вы действительно хотите знать, что является причиной перезапуска, и если вы должны встревожиться.

3 голосов
/ 23 сентября 2010

В IIS 6.0 вкладка производительности пула приложений позволяет завершать рабочий процесс IIS после указанного времени простоя. Это включено по умолчанию и установлено на двадцать минут.

Это может быть причиной непредвиденных событий application_start.

...