Redirect to shared Error view von Global.asax auf nicht behandelte MVC-Ausnahme

Ich habe die verschiedenen Methoden zur Fehlerbehandlung in ASP.MVC gelesen. Ich weiss Bescheidtry/catch innerhalb eines Controllers, und auch über[HandleError] auf Controller-Ebene.

ch versuche jedoch, eine globale Fehlerbehandlung für unbehandelte Ausnahmen durchzuführen, die auftreten könneirgendw in der Anwendung (daswow - das hätten wir nie von einem User erwartet! Art der Sache). Das Ergebnis ist, dass eine E-Mail an dev's gesendet wird:

Dies funktioniert gut:

protected void Application_Error()
{
    Exception last_ex = Server.GetLastError();
    Server.ClearError();
    // send email here...
    Response.Redirect("/Login/Login");
}

Sollte irgendwo in der Anwendung ein Fehler in einer Steuerung auftreten, haben wir diese Logik, die in unserer Fehleransicht einen freundlichen Fehler liefert:

Error Model

namespace My.Models
{
    public class ErrorViewModel
    {
        public string Summary { get; set; }
        public string Description { get; set; }
    }
}

Controller Code

if(somethingBad){
    return View("Error", new ErrorViewModel { Summary = "Summary here", Description = "Detail here" });
}

Meine Frage ist, ist es möglich, zur Fehleransicht über das @ umzuleitErrorViewModel aus Global.asax, z. B.

// send email here...
Response.MethodToGetToView(new ErrorViewModel { Summary = "Error", Description = ex.Message });

Antworten auf die Frage(1)

Ihre Antwort auf die Frage