Случайное, неожиданное завершение работы приложения asp.net mvc 2, размещенного на общем хостинге aspnix

У меня есть очень простое приложение mvc 2, размещенное на платформе общего хостинга на aspnix http://www.aspnix.com/.

Иногда пользователи теряли аутентификацию (я пользуюсь стандартным провайдером членства) во время навигации по сайту и перенаправляются на страницу входа. После некоторых исследований я начинаю подозревать, что сеанс потерян из-за перезапуска приложения, поэтому я решил установить и настроить службу мониторинга работоспособности для отслеживания завершения работы приложения и перезапуска.

После некоторых запросов к приложению я начинаю видеть следующую запись в журнале мониторинга работоспособности:

Event code: 1002 Event message: Application is shutting down. Reason: Hosting environment is shutting down. Event time: 12/8/2010 8:16:33 AM Event time (UTC): 12/8/2010 3:16:33 PM Event ID: d92fbba0487b4bab97bd7eff4b0083bb Event sequence: 38 Event occurrence: 1 Event detail code: 50002  Application information:     Application domain: /REMOVED FOR PRIVACY!     Trust level: Full     Application Virtual Path: /     Application Path: C:\REMOVED FOR PRIVACY!     Machine name: REMOVED FOR PRIVACY!  Process information:     Process ID: 12516     Process name: w3wp.exe     Account name: REMOVED FOR PRIVACY! 

а затем перезапустите приложение.

Затем я связался со службой поддержки aspnix и сказал, что с сервером все в порядке, что другой большой сайт работает без проблем на том же сервере и что это, вероятно, проблема моего приложения.

Поэтому я начинаю расследовать в своем заявлении, но не могу найти никаких проблем.

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

После некоторых исследований я нашел этот интересный пост в блоге Скотта Гу: http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx

Поэтому я перехватываю событие Application_End в global.asax, как учил Скотт, а затем отправляю почту каждый раз, когда мое приложение закрывается... и содержимое всегда одинаковое:

_shutDownMessage=HostingEnvironment initiated shutdown
HostingEnvironment caused shutdown

_shutDownStack=   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
  at System.Environment.get_StackTrace()
  at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
  at System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand()
  at System.Web.Hosting.PipelineRuntime.StopProcessing()

Я знаю, что причинами перезапуска могут быть изменения файла web.config, изменения в файлах bin или aspx, чрезмерное использование памяти и т. Д. Но в этом случае завершение работы приложения появляется также по запросу статического ресурса и также другая часть приложения очень проста и использует только стандартный поставщик членства и некоторые запросы linq to sql...

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

Любая идея?

1 ответ

Aspnix, скорее всего, проблема. С момента перехода с них на Amazon EC2 у меня появился гораздо более надежный и быстрый сервис.

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