J'enregistre toutes les erreurs survenues dans ma méthode OnException. Comment trouver dans quel contrôleur/action une erreur est survenue?Comment trouver dans quel contrôleur/action une erreur est survenue?
Répondre
Vérifiez la pile d'appels de l'exception.
Par exemple:
var actionMethod = new StackTrace(exception)
.GetFrames().FirstOrDefault(f =>
typeof(IController).IsAssignableFrom(f.GetMethod().DeclaringType)
).GetMethod();
Ne faites pas cela; ExceptionContext fournit un moyen beaucoup plus simple, plus propre et efficace d'accéder au nom et à l'action du contrôleur, comme indiqué dans la réponse d'OdeToCode ci-dessous. –
@ChristopherKing: Tant que vous avez ce contexte disponible. – SLaks
Ce que je crois qu'il fait, selon l'affirmation qu'il gère les erreurs dans la méthode OnException. –
Ajoutez la méthode suivante dans votre global.asax et de mettre un point d'arrêt sur ce
public void Application_Error(object sender, EventArgs e)
{
}
Peu importe où dans l'application d'une erreur se produit, le point de rupture sur cette méthode sera frappé. De là, vous pouvez voir la valeur de l'expression suivante dans la fenêtre de la montre rapide et vous saurez ce qui était exactement la cause de l'exception qui a eu lieu
((System.Web.HttpApplication)(sender)).Context.AllErrors
Cette méthode permettra, peu importe où l'exception se produit dans votre application Web.
La question indique que le gestionnaire OnException du contrôleur est utilisé, ce qui ne répond pas à la question. –
Comme Charlino implicite, les valeurs sont disponibles à partir du paramètre ExceptionContext:
protected override void OnException(ExceptionContext filterContext)
{
var controllerName = filterContext.RouteData.Values["controller"];
var actionName = filterContext.RouteData.Values["action"];
// ...
base.OnException(filterContext);
}
- 1. Une erreur inattendue est survenue
- 2. Zend findDependentRowset Une erreur est survenue
- 3. Erreur d'accès est survenue dans Ruby 1.9 + MySQL
- 4. erreur série d'importation est survenue en Python
- 5. Une erreur est survenue en essayant d'utiliser le bus Nservice
- 6. Rails ActiveSupport: Comment affirmer qu'une erreur est survenue?
- 7. Erreur JavaScript est survenue avec JSONP dans bookmarklet
- 8. erreur est survenue lors de l'initialisation de la VM
- 9. Temps d'exécution NZEC Erreur survenue
- 10. Une erreur est survenue dans cette ligne. qui ne figure pas dans le code
- 11. ASP "Opération non autorisée" erreur est survenue lors méthode Request.Form
- 12. La connexion sous-jacente a été fermée: Une erreur inattendue est survenue sur une réception
- 13. est survenue lors exécuter le site
- 14. Gestion des exceptions - Afficher le numéro de la ligne où une erreur est survenue?
- 15. 500 - Une erreur est survenue! La fonction DB ne signale aucune erreur lors de l'ajout d'un nouvel article dans Joomla!
- 16. Erreur F # et SVCUTIL: Une erreur est survenue lors de la tentative de génération de code dans la langue spécifiée.
- 17. comment trouver quel hook/méthode est appelée dans un framework
- 18. Une erreur est survenue lors de la connexion avec <appName> à Facebook
- 19. une erreur est survenue lors de la fusion de la valeur par défaut et incrémentation automatique
- 20. comment reprendre l'enregistrement après une interruption survenue dans l'iphone?
- 21. SQL Server: Une erreur est survenue lors de la génération de la clé asymétrique
- 22. Le téléchargement de fichier richfaces donne une erreur sur la page: une erreur de transfert est survenue
- 23. Une erreur est survenue avec NetBeans ne sais pas quoi faire
- 24. Une erreur est survenue lors de la création/connexion au serveur d'automatisation 0x80131500
- 25. faire erreur est survenue dans gcc compilateur C++ avec éditeur de liens mingw
- 26. Linq to SQL et SQL Server Compact Erreur: "Une erreur est survenue lors de l'analyse de la requête."
- 27. Comment trouver quel élément de la souris est terminé Prototype
- 28. Comment puis-je trouver une erreur inconnue dans un X509Chain?
- 29. Trouver quel élément est cliqué dans le DOM
- 30. Comment trouver quel rectangle est le plus proche d'un point
Est-ce que le ExceptionContext contient pas les données que vous voulez? – Charlino