Souhaitez-vous des suggestions sur la gestion rapide et simple des erreurs pour l'application web asp.net mvc?Approche minimaliste pour la gestion des erreurs
Répondre
ELMAH en conjonction avec un attribut qui étend HandleError et enregistre les erreurs via ELMAH. Voir ce question/answer pour quelques idées sur la façon d'obtenir l'attribut HandleError pour travailler avec ELMAH. Dan Swatik également blogged à ce sujet avec une implémentation basée sur la réponse acceptée dans cette question.
Vérifiez l'échantillon Nerd Dinner. Il utilise une approche très nette et simple.
Je viens récemment employé une solution de reporting d'erreur très rapide n-sale de mon propre qui pourrait vous donner quelques idées ...
Créer une classe de contrôleur de base, permet de l'appeler MyBaseController
. Tous vos contrôleurs en héritent si vous le souhaitez, bien que cela ne soit pas nécessaire si vous n'avez qu'un seul contrôleur.
Ensuite, vous pouvez substituer sa méthode partielle OnException
et insérer n'importe quel type de rapport d'erreur que vous souhaitez, comme vous envoyer un e-mail avec ToString() de l'exception. Par exemple:
public MyOwnBaseController : Controller
protected override void OnException(ExceptionContext context)
{
SendAdminErrorAlert("Egads! An Error!", context.Exception.ToString());
// I have a view named "500.aspx" that I will now show...
context.ExceptionHandled = true;
this.View("500").ExecuteResult(this.ControllerContext);
}
}
Je trouve également que cet article utile: http://blog.dantup.me.uk/2009/04/aspnet-mvc-handleerror-attribute-custom.html dans l'apprentissage de tout cela ...
Bonne chance!
-f!
PS, vous pouvez obtenir pratiquement les mêmes résultats 'quick-n-dirty' à partir d'un attribut que vous appliquez sur vos contrôleurs (vous pouvez sous-classer le HandleErrorAttribute intrinsèque ie, [ HandleError]) avec pratiquement la même quantité de code ... – Funka
Vous pouvez toujours utiliser l'ancienne méthode Application_Error dans le Global.asax
protected void Application_Error(object sender, EventArgs e)
{
// some good info in Server.GetLastError().GetBaseException() and Context.Request
// that you can use in whatever you choose for
// your quick and easy logging/reporting
}
De toute évidence, vous voulez activer customErrors aussi ...
<customErrors mode="RemoteOnly" defaultRedirect="~/error">
<error statusCode="403" redirect="~/error/forbidden" />
<error statusCode="404" redirect="~/error/notfound" />
<error statusCode="500" redirect="~/error" />
</customErrors>
- 1. Gestion des erreurs ASP.NET
- 2. Gestion des erreurs SQL
- 3. gestion des erreurs pour AJAX div
- 4. VBScript - Utilisation de la gestion des erreurs
- 5. Utilisez l'instruction switch C pour la gestion des erreurs
- 6. Gestion des erreurs ASP.NET Question
- 7. Gestion des erreurs avec VS2008
- 8. gestion des erreurs javascript globales
- 9. gestion des erreurs dans php
- 10. Une approche minimaliste et non-entreprise pour un serveur SOAP en Python
- 11. gestion des erreurs avec spring + servlet spec
- 12. Flux C++ Boost io, gestion des erreurs
- 13. Objets et gestion des erreurs en PHP
- 14. Gestion des erreurs URLS qui n'existent pas
- 15. Gestion des erreurs à partir de HttpWebRequest.GetResponse
- 16. Gestion des erreurs personnalisées pour une page spécifique dans ASP.Net
- 17. SQL Server Service Broker Gestion des erreurs
- 18. Gestion des erreurs dans le contrôle ReportViewer
- 19. ASP.Net MVC Exception Logging combiné avec la gestion des erreurs
- 20. Gestion des erreurs d'analyseur de requête Lucene
- 21. Pourquoi la gestion des erreurs est-elle importante?
- 22. Qt et la stratégie de gestion des erreurs
- 23. Création de tableau minimaliste en C#
- 24. Meilleure approche pour la réindexation
- 25. Meilleures pratiques pour la gestion des erreurs dans un service Web
- 26. Comment désactiver la gestion des erreurs personnalisées dans IIS pour mon site Web?
- 27. Recommandations de gestion des erreurs AJAX et meilleures pratiques
- 28. Conseils sur la gestion des erreurs/exceptions dans un service Web
- 29. Gestion des erreurs sur les sockets dans SAS sous OpenVMS
- 30. Comment tester la gestion des erreurs impliquant des erreurs d'hôte distant avec le serveur de développement ASP.NET?
le moyen le plus rapide et la plus simple est : non! ... mais bien sûr, cette solution n'est pas recommandée ... –