Ich habe benutzerdefinierte Fehler in der Webkonfiguration aktiviert und leite um zu "/Error/Trouble". Dies funktioniert wie vorgesehen. Elmah protokolliert den Fehler. Die Fehleransicht wird auch angezeigt.
Das Problem ist, dass ich den geworfenen Fehler im Trouble-Action meines Error-Controllers überprüfen möchte. Wie greift man auf ihn zu, nachdem MVC Sie zum benutzerdefinierten Fehlerhandler umgeleitet hat?
Ich werfe eine Ausnahme, wenn CurrentUser null ist:
if (CurrentUser == null)
{
var message = String.Format("{0} ist unbekannt. Bitte kontaktieren Sie Ihren Administrator.", context.HttpContext.User.Identity.Name);
throw new Exception(message, new Exception("Innere Ausnahme"));
}
Ich möchte darauf zugreifen können in meinem benutzerdefinierten Fehlerhandler ("Error/Trouble"). Wie greifen Sie auf die Ausnahme zu?
Hier ist meine Trouble-Action:
public ActionResult Trouble()
{
return View("Error");
}
Hier ist meine Ansicht:
@model System.Web.Mvc.HandleErrorInfo
Entschuldigung, ein Fehler ist bei der Verarbeitung Ihrer Anfrage aufgetreten.
@if (Model != null)
{
@Model.Exception.Message
@Model.Exception.GetType().Name
geworfen in @Model.ControllerName @Model.ActionName
Fehlerdetails:
@Model.Exception.Message
}
System.Web.Mvc.HandleErrorInfo ist das Modell für meine Trouble-Ansicht und es ist leer. Vielen Dank für Ihre Hilfe.