Приложение ASP.NET заканчивается сразу после запуска
-
26-09-2019 - |
Вопрос
Имея немного проблемы с моим размещенным приложениями ASP.NET. Я заметил медлительность при открытии страниц, такая медлительность, которую вы видите в первый раз, когда вы запускаете приложение ASP.NET. После исследования я обнаруживаю, что событие Application_end стрельба вскоре после начала приложения, по-видимому, убивая сеансы, статические значения и т. Д.
У меня есть стандартные настройки по умолчанию Web.config, и я пишу на сеанс, когда запрашивается страница. Но по какой-либо причине приложение не ждет 20 минут (или что-то по умолчанию) перед смертью - иногда это всего в минуте или двух, иногда даже меньше.
Конечно, это не происходит локально в моей среде Dev - все работает как ожидалось, с идентичным кодом и значениями Web.config.
Есть только один сервер, поэтому нет фермы или что-то подобное.
Я знаю, что есть много вещей, которые вызывают приложение ASP.NET для завершения - IIS RestArting, переработка пула приложения, DLL или файл конфигурации, перезагрузка и т. Д. Но я надеюсь, что лучше догадаться, когда я сообщу об этом Хостинг компании, чтобы помочь исследовать и исправить проблему. Сервер не перезагружается, и я не изменяю никаких файлов, так что это, кажется, покинут IIS или пул приложения, если я не пропустил что-то еще.
Restarting IIS находится в просмотру событий Windows, так что это достаточно легко, чтобы найти. Предполагая, что это не так, есть ли способ точно определить, почему приложение продолжает сбросить?
Любые мысли, которые у вас могут быть на это, будут оценены.
Решение
Это одна из причин, по которой вы можете подумать и проверить.
- Команда, которая закрыта приложение.
- Ошибка / замкнутая цикла, которая сбивает приложение.
- Предел памяти На бассейне приложений, который выключает приложение. (Это максимально возможное)
- Очень плохой IIS и конфигурация бассейна на общий сервер или на виртуальном сервере. Может быть, слишком много сайтов на том же IIS, и в то же время плохой бассейн?
Вы можете проверить наличие ошибок на Global.Asax
void Application_Error(object sender, EventArgs e)
{
}
Войдите все из них и проверьте их.
Вы можете проверить настройку пула, если у вас есть доступ к IIS, или попросите от администратора, чтобы проверить его для вас и удалить пределы перезапуска памяти.