Ich habe eine OnException-Ausnahme (ExceptionContext filterContext) in meinem Basis-Controller, um die App bei Fehlern abzufangen und sie dann zu protokollieren. Das Problem, das ich in meiner App bekomme, ist, dass diese bestimmte Methode viermal wegen bestimmter Fehler ausgelöst wird. Ich werde Sie durch eine Szenario gehen:Korrekte Fehlerbehandlung in ASP.NET MVC2
Lassen Sie uns sagen, dass ich zu navigieren: http://localhost:180/someController/someAction?someId=XX
Und ich habe schlechte Objekt in meinem Code Handhabung. Die übergebene ID ist ungültig und ruft ein Null-Objekt ab. Ich versuche dann, bc meiner schlechten Objektbehandlung, an einem Null-Objekt zu arbeiten. Ich bekomme eine Ausnahme.
Die OnException von BaseController wird hier ausgelöst.
Dieses Null-Objekt wird immer noch in der Ansicht zurückgegeben, wo die Ansicht versucht, es an etwas zu binden, oder was Sie haben.
BaseControllers OnException wird hier erneut ausgelöst, für den Fehler in der Ansicht.
Im Prinzip ist nur ein Fehler für mich wichtig, aber der Trickle-up-Effekt verursacht mehr Fehler, und spammen meinen Posteingang: - /.
Was ist der richtige Weg, um einen Fehler in MVC2 zu bekommen und nicht mir passiert?
Vielen Dank für Ihre schnelle Antwort. Ich werde hier etwas klären. Ich habe Schutz um Null-Objekte, wollte nur ein Beispiel für eine Ausnahme geben, die so einfach wie möglich passiert. Auch die Fehlerseite zeigt, wie es sollte, das ist auch kein Problem. Es ist einfach so, dass wenn eine Ausnahme auftritt und zu weiteren Ausnahmen kommt, sie alle protokolliert werden, wenn ich mich nur um die erste kümmere. Ich würde beim ersten Fehler annehmen, die Anwendung würde die Ausführung stoppen, aber das scheint nicht der Fall zu sein. –