Завершение всех сеансов с последующим событием завершения приложения - PullRequest
4 голосов
/ 18 января 2012

Мы сталкиваемся со странным явлением в нашей производственной среде: каждые несколько часов приложение выгоняет всех пользователей, заканчивая их сеансы событием Session_End и запускает событие Application_End.В нашем журнале все сеансы пользователя закрываются в одну и ту же миллисекунду.Мы сталкивались с этой проблемой в нашей тестовой среде, но только в редких случаях, и мы не могли ее дублировать.Все остальное выглядит нормально, другие приложения, работающие на этом сервере, работают нормально, нет утечки памяти или чрезмерного использования процессора.Приложение основано на ExtJS версии 3.3, NHibnernate 3.2 и ASP.NET 4.0.Это не похоже на ошибку Timeout, некоторые пользователи работали всего за несколько минут до конца сеанса.Кто-нибудь сталкивался с подобными проблемами?

1 Ответ

5 голосов
/ 18 января 2012

Существует несколько причин, по которым пул приложений перезагружается (и, таким образом, завершает все открытые сеансы и завершает приложение).См. http://blogs.msdn.com/b/johan/archive/2007/05/16/common-reasons-why-your-application-pool-may-unexpectedly-recycle.aspx для полного обзора.

Однажды у нас была похожая проблема в производственной среде.Причиной перезапуска стал антивирусный сканер, который при каждом сканировании затрагивал файл web.config, что приводило к перезапуску пула приложений.Попробуйте отключить антивирусный сканер на сервере или исключите каталог приложения в антивирусном сканере.

Изменение следующих файлов также приведет к немедленному перезапуску пула приложений:

  • web.config
  • machine.config
  • global.asax
  • Все, что находится в каталоге bin или его подкаталогах

Это сообщение: http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx дает вам возможность поймать событие завершения приложения с более подробной регистрации.Это может помочь вам найти причину переработки.

...