Maison > développement back-end > C++ > Comment implémenter la gestion personnalisée des erreurs dans ASP.NET MVC à l'aide de Application_Error ?

Comment implémenter la gestion personnalisée des erreurs dans ASP.NET MVC à l'aide de Application_Error ?

Mary-Kate Olsen
Libérer: 2025-01-14 10:02:47
original
285 Les gens l'ont consulté

How to Implement Custom Error Handling in ASP.NET MVC using Application_Error?

Utilisez l'événement Application_Error de Global.asax pour implémenter une gestion personnalisée des erreurs dans ASP.NET MVC

L'événement Application_Error dans le fichier Global.asax dans ASP.NET MVC permet aux développeurs de gérer les exceptions et les erreurs non gérées dans l'application. Une pratique courante consiste à rediriger les utilisateurs vers une page d'erreur spécifique en fonction du code d'état HTTP de l'erreur.

Pour ce faire, vous pouvez modifier le gestionnaire d'événements Application_Error comme suit :

<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>
Copier après la connexion

Dans ce code amélioré, nous redirigeons directement vers le contrôleur/l'action et transmettons les détails de l'erreur en tant que paramètres de chaîne de requête au lieu de créer une nouvelle route pour le contrôleur d'erreur. Le contrôleur d'erreur recevra alors le message et l'affichera en utilisant la vue spécifiée dans la méthode d'action.

<code class="language-csharp">// GET: /Error/HttpError404
public ActionResult HttpError404(string message)
{
    return View("SomeErrorView", message);
}</code>
Copier après la connexion

Cette approche simplifie la gestion des erreurs et évite le besoin d'un routage supplémentaire. Cependant, il existe des compromis à prendre en compte, par exemple des problèmes de performances peuvent survenir s'il y a un grand nombre de boucles ou de créations de sessions lors de la gestion des erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal