Propre moyen de rattraper toutes les erreurs jeté dans un MVC 3.0 de l'application?
Je suis en train de construire un MVC 3.0 site de commerce électronique. Je veux éviter de coller les blocs try-catch partout dans mon code.
Question est assez simple: Ce qui est une bonne stratégie pour la capture de toutes les erreurs qui se sont jeté sur mon site web? Je veux connaître tous... afin que je puisse travailler sur le rapprochement qui compte à 0 une fois le site mis en ligne. J'ai l'intention de l'écriture de chaque erreur à un enregistreur et aussi à l'email.
J'ai fait un peu de lecture sur la capture dans le global.asax fichier... mais j'ai aussi lu qu'elle ne soit pas TOUS d'entre eux.
Quelqu'un a des suggestions ou peut me pointer dans la bonne direction?
- J'aime toutes les réponses... j'ai essayé le sujet en apparence, et je suis amoureux d'elle. Installé si facile et je vais le remplacer complètement avec mon enregistreur de merde. J'aimerais voir quelques votes/commentaires pour s'assurer ELMAH est le chemin à parcourir...
- Je suis d'accord! ELMAH est génial et il est très facile à installer. J'ai utilisé ELMAH en nombre de projets avec succès.
Vous devez vous connecter pour publier un commentaire.
Le MVC façon de résoudre ce problème sont filtres. Si vous êtes sur MVC3 déjà, filtres globaux sont pour vous. Il existe un type spécial de filtre pour la remise des erreurs: le
HandleError
filtre. Cet article décrit bien l'utiliser.Vous pourriez réaliser ses propres filtrer et contrôler tous les aspects des exceptions non gérées, par ex.:
Enfin, si vous voulez avoir toutes les exceptions non gérées à être stockées et enregistrées, ELMAH c'est à dire ELMAH.MVC est le meilleur choix. L'installer en utilisant la Package NuGet, le configurer et toutes les données seront accessibles à partir d'un lien tel que:
Ma suggestion est de pas utiliser quelque chose comme
Application_Error
Mondiale.asax.cs.Vous pouvez gérer en toute levée d'une Exception dans le monde.asax.