Laden...

[gelöst] HandleError Attribut in MVC3 ohne Funktion

Erstellt von Grumbler85 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.037 Views
G
Grumbler85 Themenstarter:in
538 Beiträge seit 2008
vor 12 Jahren
[gelöst] HandleError Attribut in MVC3 ohne Funktion

Hallo allerseits,

ich versuche grade (erfolglos) das HandleError Attribut in einer MVC3 Webseite zu verwenden.
Es ist sowohl in der Global.asax als Globaler Filter eingetragen als auch in meiner Basisklasse und an meinen sonstigen Klassen.
Wenn ich es richtig interprätiert habe, so sollte das Attribut ja nun bei einem Fehler dafür sorgen, das der Benutzer nicht den "Yellow Screen of Death" bekommt, sondern eine von mir in /Views/Shared/Error.cshtml definierte Seite zu sehen bekommt.

Mein Problem aber - ich bekomme die "Stellen sie die CustomErrors auf OFF"-Seite angezeigt. Muss ich beim verwenden von Custom Errors irgendwas besonderes Beachten? Dürfen nur bestimmte ResponseCodes auftreten?

Aktuell fange ich einfach da wo ich die Fehlerseite möchte bestimmte Exceptions nicht ab - ist das so gedacht?

Danke für Input!
TG

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

16.842 Beiträge seit 2008
vor 12 Jahren

Hallo,

das hier so zu beantworten macht keinen Sinn.
Befolge die Anweisungen und die Vorgänge, die das Anwenden und Verhalten von HandleError bzw ActionFilters erklären. Zum Beispiel Get to Know Action Filters in ASP.NET MVC 3 Using HandleError

Zudem sind HandleError-Attribute "eigentlich" nicht dafür da, dass gesammelt alle Fehler dort abgefangen werden; ansonsten könntest Du auch einfach Application_Error aus dem LifeCycle der Anwendung verwenden.
Viel eher sollte man für jeden Typ einer möglichen Exception ein HandleError-Attribut definieren - und natürlich eine entsprechende View.
Aber das ist in dem Link oben gut erklärt.

War übrigens der erste Google-Treffer nach "handleerror mvc3"

G
Grumbler85 Themenstarter:in
538 Beiträge seit 2008
vor 12 Jahren

Hallo,

also - ich nutze bereits mehrere HandleError Attribute für Verschiedene Fehler-Supertypen, die ich in meiner Applikation definiert habe.
Das Problem ist nicht, dass ich keiner Anleitung folgen könnte oder nicht verstehe was passieren sollte, sondern vielmehr, dass es schlicht und ergreifend nciht funktioniert.

Mein customError-Mode steht auf On (auch wenn mir RemoteOnly für den laufenden Betrieb besser gefällt), die HandleError-Attribute sind vorhanden (verschiedene für unterschiedliche Fehler). Die Error-Views sind ebenfalls vorhanden.
Nichtsdestotrotz sehe ich den YSOD.

Deshalb nochmal die Frage: gibt es Fallstricke, die das HandleError unterbinden, wie Beispielsweise bestimmte Exceptions (Unauthorized zum Beispiel wird ja nicht durch HandleError erfasst)?

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

S
417 Beiträge seit 2008
vor 12 Jahren

Hallo,

eine Möglichkeit wäre noch, dass deine Error-Views selbst einen fehlerhaften Code enthalten. Vergewissere dich, dass dem nicht so ist.

G
Grumbler85 Themenstarter:in
538 Beiträge seit 2008
vor 12 Jahren

Aus Gründen, die ich nicht verstehe funktioniert es nun ...

Was hab ich gemacht?
Das Execute aus meinem BaseController entfernt (wobei das nicht viel getan hat außer base.Execute() aufzurufen)

Außerdem habe ich auf die HandleErrorAttributes verzichtet und stattdessen globale Filter verwendet - pro Errortyp einen.

Die Views selbst hatten scheinbar keine Fehler.

Danke für die Hilfe

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)