Benutzerdefinierte Fehler funktioniert für HttpCode 403 aber nicht 500?
Ich bin Implementierung benutzerdefinierter Fehler in meiner MVC3 app, Ihr eingeschaltet im web.config:
<customErrors mode="On">
<error statusCode="403" redirect="/Errors/Http403" />
<error statusCode="500" redirect="/Errors/Http500" />
</customErrors>
Mein controller ist sehr einfach, mit entsprechenden korrekt benannte Ansichten:
public class ErrorsController : Controller
{
public ActionResult Http403()
{
return View("Http403");
}
public ActionResult Http500()
{
return View("Http500");
}
}
Testen, ich bin das werfen von Ausnahmen in einem anderen controller:
public class ThrowingController : Controller
{
public ActionResult NotAuthorised()
{
throw new HttpException(403, "");
}
public ActionResult ServerError()
{
throw new HttpException(500, "");
}
}
Den 403 funktioniert - ich bekommen umgeleitet zu meinem custom "/Fehler/Http403".
500 funktioniert nicht - ich habe stattdessen umgeleitet, um die Standard-Fehler-Seite in den freigegebenen Ordner.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich 500 Fehler und läuft mithilfe der httpErrors zusätzlich zu den standard-customErros config:
Und entfernen diese Zeile aus der global.asax
Es ist nicht perfekt aber als ich es versuche abzurufen, der Letzte Fehler ist immer null.
Sehen https://stackoverflow.com/a/7499406/1048369 für das umfangreichste Stück auf benutzerdefinierte Fehler in MVC3, die ich gefunden habe, das war eine große Hilfe.
Ich habe das gleiche problem, ich Fang die Exception direkt in der Globalen.asax in diesem Fall:
Umleitet, um meine eigenen Fehler 500: /Error/Index?code=500