ELMAH base de données SQL Erreur gestionnaire pas disponible- ce qui se passe à l'exploitation forestière?

StackOverflow https://stackoverflow.com/questions/758092

  •  09-09-2019
  •  | 
  •  

Question

Je teste ELMAH et ont délibérément désactivé la connexion de base de données pour le journal ELMAH dans mon application pour voir ce qui se passera dans la production si la DB n'est pas disponible.

Il semble que ELMAH ne peut pas piéger son propre errors- le fichier AXD n'est pas disponible lorsque le journal de databse SQL échoue.

Quel est le comportement prévu de ELMAH si la base de données ne sont pas disponibles?

Comment puis-je diagnostiquer mes erreurs si cela se produit?

Était-ce utile?

La solution

Pas vraiment sûr ELMAH mais le comportement attendu de ces cadres d'exploitation est de ne pas jeter des exceptions en cas de problème avec eux. C'est à dire. si la base de données ELMAH est en baisse je suppose que ce sera tout simplement pas enregistrer les erreurs de base de données.

Comme suggéré ci-dessus, vous pouvez / devrait utiliser autre puits -. E-mail ou fichier plat

Autres conseils

  

Il semble que ELMAH ne peut pas son propre piège   erreurs

ELMAH ne piège ses propres erreurs dans une certaine mesure. Si le ErrorLogModule rencontre une exception en essayant d'enregistrer l'erreur, l'exception résultant de l'exploitation est envoyé à l'installation standard trace .NET Framework. Voir ligne 123 de 1,0 . sources Voir aussi dans la documentation ASP.NET rendez-vous en suivant pour obtenir le tracé standard .NET Framework travail avec traçage ASP.NET:

Walkthrough: Intégration de ASP.NET avec traçage System.Diagnostics Tracing

  

le fichier AXD n'est pas disponible lorsque le   journal SQL databse échoue.

C'est exact. la connectivité de base de données SQL Server doit être fonctionnel pour afficher les erreurs stockées dans une base de données SQL Server lors de l'utilisation SqlErrorLog.

  

Quel est le comportement prévu de ELMAH   si la base de données ne sont pas disponibles?

Si, par exemple, la base de données SQL Server est en panne, un SqlException se produira au cours de l'exploitation forestière. ELMAH enverra alors le contenu de l'objet SqlException à l'installation standard trace .NET Framework.

  

Comment puis-je diagnostiquer mes erreurs si ce   se produit?

La meilleure option est ici pour également la consignation et e-mailing d'erreurs. Si la base de données est en baisse, les chances sont bonnes que la passerelle de messagerie est et vous encore être averti des erreurs. Les erreurs seront, en effet, obtenir connecté dans une boîte aux lettres (es). Cela a aussi l'avantage que si la passerelle de messagerie est toujours vers le bas alors les chances sont que la base de données sera et erreurs arriverai connecté. Si les deux sont en baisse, cependant, alors vous aurez besoin d'examiner sérieusement votre infrastructure de production et éventuellement prendre des mesures pour surveiller la santé de votre système grâce à des mesures supplémentaires.

Vous pouvez toujours utiliser l'option de fichier xml pour consigner vos erreurs.

Je pense que vous mélangez contexte un peu.

Le comportement de ELMAH si la base de données ne sont pas disponibles est de ne pas enregistrer les erreurs à la base de données. Si une exception est levée sur le serveur ou si vous soulevez une exception au moyen d'un ErrorSignal, ELMAH va laisser passer par cette exception soit un écran jaune ou une page d'erreurs personnalisées (votre réglage.)

il est correct Depuis la page Errors.axd est accessible uniquement à ceux qui devraient être le voir (idéalement,) pour présenter cette erreur à l'utilisateur.

La ligne de fond est que si la base de données des erreurs est en panne, vous ne pouvez pas diagnostiquer les erreurs. Pour nous, si tel était le cas, nous aurions plus gros problèmes depuis la base de données d'erreur se trouve à la base de données de production.


Je voudrais également plaider en faveur contre l'utilisation de l'enregistrement XML pour votre source primaire d'exploitation. SQL Server va vous donner les meilleures performances sans avoir à gérer les fichiers. Avec l'enregistrement XML qui est pas le cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top