2010-12-08 1 views
1

J'ai une application mvc 2 très simple hébergée sur la plateforme d'hébergement partagée à aspnix http://www.aspnix.com.Fermeture aléatoire et inattendue d'une application asp.net mvc 2 hébergée sur l'hébergement partagé aspnix

Parfois, les utilisateurs perdent leur authentification (j'utilise le fournisseur d'appartenances standard) pendant la navigation sur le site et sont redirigés vers la page de connexion. Après quelques recherches, je commence à soupçonner que la session est perdue en raison d'un redémarrage de l'application, j'ai donc décidé d'installer et de configurer le service de surveillance de la santé afin de suivre l'arrêt de l'application et redémarrer.

Après quelques demandes à l'application que je commence à voir l'entrée suivante dans le journal de surveillance de la santé:

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! 

puis un redémarrage de l'application. Puis je contacte le support aspnix et il dit que le serveur est bon, qu'un autre gros site fonctionne sans problème sur le même serveur et que c'est probablement un problème de mon application. Donc, je commence à étudier dans mon application, mais je ne trouve aucun problème.

Je me rends également compte que l'arrêt apparaît aussi quand je demande une ressource statique comme, par exemple une image png!

Après quelques recherches, je trouve ce post intéressant sur le blog Scott Gu: http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx

J'intercepter l'événement Application_End dans le global.asax comme Scott enseigne et puis j'envoyer un message à chaque fois que mon arrêt de l'application. .. et le contenu est à chaque fois le même:

_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() 

Je sais que les causes d'un redémarrage peut être des changements du web.config, les changements dans les fichiers bin ou ASPX, l'utilisation excessive de la mémoire etc .. Mais dans ce cas, l'arrêt de l'application apparaît également avec le r equest d'une ressource statique et aussi l'autre partie de l'application sont très simples et utilisent uniquement le fournisseur d'appartenances standard et une requête linq to sql ...

J'ai également souscrit à l'événement Application_Error pour toutes les exceptions non gérées avec aucun résultat.

Une idée?

+0

avez-vous déjà trouvé quelque chose à ce sujet? –

+0

Non Dave, en ce moment j'ai trouvé quelque chose. Avez-vous le même problème? –

+1

Oui: http://stackoverflow.com/questions/5320180/asp-net-mvc-why-does-my-app-keep-restarting –

Répondre

0

aspnix est probablement le problème. Depuis leur passage à Amazon EC2, j'ai eu un service beaucoup plus fiable et plus rapide.