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

У меня очень простое приложение 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, изменения в корзине илифайлы aspx, чрезмерное использование памяти и т. д. Но в этом случае завершение работы приложения происходит также по запросу статического ресурса, а другая часть приложения очень проста и использует только стандартный поставщик членства и некоторый запрос linq to sql...

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

Есть идеи?

1 Ответ

0 голосов
/ 02 мая 2011

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

...