2012-01-18 2 views
4

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

+2

- утилизация бассейна для приложения? –

ответ

5

Существует несколько причин, по которым пул приложений перерабатывает (и таким образом заканчивает все открытые сеансы и завершает приложение). См. 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
  • Все в каталоге бен или это подкаталогов

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

Смежные вопросы