Приложение ASP.NET заканчивается сразу после запуска

Возникла небольшая проблема с моими размещенными приложениями ASP.NET. Я заметил медлительность при открытии страниц, такую ​​медлительность, которую вы видите при первом запуске приложения ASP.NET. После исследования я обнаружил, что событие Application_End запускается вскоре после запуска приложения, по-видимому, убивая сеансы, статические значения и т. Д.

У меня настроен стандартный web.config по умолчанию, и я пишу в сеанс, когда запрашивается страница. Но по какой-то причине приложение не ждет 20 минут (или любого другого значения по умолчанию) перед тем, как умереть - иногда это просто минута или две, иногда даже меньше.

Конечно, это не происходит локально в моей среде разработки - все работает как положено, с идентичным кодом и значениями web.config.

Существует только один сервер, поэтому нет фермы или чего-то в этом роде.

Я знаю, что есть много вещей, которые приводят к завершению приложения ASP.NET - перезапуск IIS, перезапуск пула приложений, изменение DLL или файла конфигурации, перезагрузка и т. Д. Но я надеюсь, что у меня будет лучшее предположение, когда я сообщу об этом своему хостинговая компания, чтобы помочь исследования и решить проблему. Сервер не перезагружается, и я не изменяю никакие файлы, так что кажется, что IIS или пул приложений перезагружаются, если я не пропустил что-то еще.

Перезапуск IIS выполняется в средстве просмотра событий Windows, поэтому его достаточно легко найти. Предполагая, что это не так, есть ли способ точно определить, почему приложение продолжает сбрасываться?

Мы будем благодарны за любые ваши мысли по этому поводу.

1 ответ

Решение

Это одна из причин, по которой вы можете подумать и проверить.

  1. команда, которая закрывает приложение.
  2. ошибка / замкнутый цикл, приводящий к сбою приложения.
  3. ограничение памяти в пуле приложений, которое закрывает приложение. (это наиболее возможно)
  4. очень плохая конфигурация iis и пула на общем сервере или на виртуальном сервере. Может быть, слишком много сайтов на одном и том же iis, и в то же время плохая настройка пула?

Вы можете проверить наличие ошибок на global.asax

void Application_Error(object sender, EventArgs e) 
{
}

войдите все и проверьте их.

Вы можете проверить настройку пула, если у вас есть доступ к iis, или попросить администратора проверить его и снять ограничения на перезагрузку памяти.

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