Heim > Backend-Entwicklung > C++ > Wie kann ich eine benutzerdefinierte Fehlerbehandlung mit Ausnahmedetails in ASP.NET MVC implementieren?

Wie kann ich eine benutzerdefinierte Fehlerbehandlung mit Ausnahmedetails in ASP.NET MVC implementieren?

Linda Hamilton
Freigeben: 2025-01-14 10:17:46
Original
788 Leute haben es durchsucht

How Can I Implement Custom Error Handling with Exception Details in ASP.NET MVC?

Benutzerdefinierte Fehlerbehandlung in ASP.NET MVC: Application_Error-Ereignis in Global.asax

In ASP.NET MVC-Anwendungen ist das Application_Error-Ereignis in Global.asax von entscheidender Bedeutung für die Behandlung nicht behandelter Ausnahmen und die Bereitstellung benutzerdefinierter Fehlerseiten.

Daten an Fehlercontroller übergeben

Der aktuelle Code im Application_Error-Ereignis bestimmt den HTTP-Statuscode und legt das RouteData-Objekt fest, das an den Error-Controller übergeben werden soll. Der Code bietet jedoch keine Möglichkeit, die Ausnahmedetails an den Controller zu übergeben.

Ein robuster Ansatz besteht darin, Abfragezeichenfolgenparameter zum Übertragen von Ausnahmeinformationen zu verwenden. Der geänderte Application_Error-Code lautet wie folgt:

<code class="language-csharp">protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    Response.Clear();

    HttpException httpException = exception as HttpException;

    if (httpException != null)
    {
        string action;

        switch (httpException.GetHttpCode())
        {
            case 404:
                // 页面未找到
                action = "HttpError404";
                break;
            case 500:
                // 服务器错误
                action = "HttpError500";
                break;
            default:
                action = "General";
                break;
        }

        // 清除服务器上的错误
        Server.ClearError();

        Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message));
    }
}</code>
Nach dem Login kopieren

Fehlercontroller

Der Fehlercontroller empfängt die Ausnahmemeldung als Abfragezeichenfolgenparameter:

<code class="language-csharp">// GET: /Error/HttpError404
public ActionResult HttpError404(string message)
{
    return View("SomeView", message);
}</code>
Nach dem Login kopieren

Notizen

Während dieser Ansatz eine flexible Ausnahmebehandlung ermöglicht, beachten Sie bitte Folgendes:

  • Vermeiden Sie Endlosschleifen bei der Fehlerbehandlung.
  • Durch die Umleitung zu einer ASP.NET MVC-Aktion wird ein Sitzungsobjekt für die Anforderung erstellt, was sich auf die Leistung auf Systemen mit hoher Auslastung auswirken kann.
  • Stellen Sie sicher, dass die Fehlerbehandlung robust ist und verhindern Sie, dass vertrauliche Informationen unbefugten Benutzern angezeigt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine benutzerdefinierte Fehlerbehandlung mit Ausnahmedetails in ASP.NET MVC implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage