Maison développement back-end Tutoriel C#.Net Filtre ExceptionFilter dans asp.net

Filtre ExceptionFilter dans asp.net

Sep 01, 2017 pm 03:07 PM
asp.net 过滤器

Cet article présente principalement en détail le filtre ExceptionFilter du filtre global asp.net core MVC, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Cette série de cours expliquera l'utilisation du. filtre global intégré dans asp.net core MVC, qui sera divisé dans les chapitres suivants

 asp.net core MVC filter ExceptionFilter filter (1)

 asp.net core MVC filter ActionFilter filtre (2)

filtre MVC de base asp.net Filtre ResultFilter (3)

filtre MVC de base asp.net Filtre ResourceFilter (4)

 Filtre AuthorizationFilter d'asp.net filtre MVC de base (5)

Introduction

Le filtre d'exception, comme son nom l'indique, est lorsqu'un programme se produit. Filtre à utiliser sur les exceptions. Utilisé pour gérer les exceptions non interceptées dans le système.

Implémentation d'un filtre d'exception personnalisé

La personnalisation d'un filtre d'exception global nécessite l'implémentation de l'interface IExceptionFilter


public class HttpGlobalExceptionFilter : IExceptionFilter
  {
    public void OnException(ExceptionContext context)
    {
      throw new NotImplementedException();
    }
  }
Copier après la connexion

Interface IExceptionFilter Ce sera requis pour implémenter la méthode OnException, qui sera déclenchée lorsqu'une exception non interceptée se produit dans le système. La méthode OnException possède un contexte d'exception ExceptionContext, qui contient des informations d'exception spécifiques, HttpContext et des informations de routage mvc. Lorsqu'une exception non détectée se produit dans le système, une approche courante consiste à utiliser un outil de journalisation pour enregistrer les informations détaillées de l'exception afin de faciliter la correction et le débogage. Vous trouverez ci-dessous la mise en œuvre de la journalisation. ​


  /// <summary>
  /// 全局异常过滤器
  /// </summary>
  public class HttpGlobalExceptionFilter : IExceptionFilter
  {
    readonly ILoggerFactory _loggerFactory;
    readonly IHostingEnvironment _env;

    public HttpGlobalExceptionFilter(ILoggerFactory loggerFactory, IHostingEnvironment env)
    {
      _loggerFactory = loggerFactory;
      _env = env;
    }

    public void OnException(ExceptionContext context)
    {
      var logger = _loggerFactory.CreateLogger(context.Exception.TargetSite.ReflectedType);

        logger.LogError(new EventId(context.Exception.HResult),
        context.Exception,
        context.Exception.Message);

        var json = new ErrorResponse("未知错误,请重试");

        if (_env.IsDevelopment()) json.DeveloperMessage = context.Exception;

        context.Result = new ApplicationErrorResult(json);
        context.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;

      context.ExceptionHandled = true;
    }

public class ApplicationErrorResult : ObjectResult
  {
    public ApplicationErrorResult(object value) : base(value)
    {
      StatusCode = (int)HttpStatusCode.InternalServerError;
    }
  }

public class ErrorResponse
  {
    public ErrorResponse(string msg)
    {
      Message = msg;
    }
    public string Message { get; set; }
    public object DeveloperMessage { get; set; }
  }
Copier après la connexion

Enregistrer le filtre global

Le filtre a été écrit, puis il doit être enregistré dans asp.net core MVC. Recherchez le fichier Startup.cs dans le répertoire racine du système et modifiez la méthode ConfigureServices comme suit


 services.AddMvc(options =>
      {
        options.Filters.Add<HttpGlobalExceptionFilter>();
      });
Copier après la connexion

Test

Throw a dans la demande Exception

Le journal capture correctement les informations d'exception

Le navigateur renvoie une erreur 500 et renvoie un message d'erreur personnalisé.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Erreur Vue : Le filtre dans les filtres ne peut pas être utilisé correctement, comment le résoudre ? Erreur Vue : Le filtre dans les filtres ne peut pas être utilisé correctement, comment le résoudre ? Aug 26, 2023 pm 01:10 PM

Erreur Vue : Le filtre dans les filtres ne peut pas être utilisé correctement, comment le résoudre ? Introduction : Dans Vue, les filtres sont une fonction couramment utilisée qui peut être utilisée pour formater ou filtrer des données. Cependant, lors de l'utilisation, nous pouvons parfois rencontrer des problèmes liés à l'impossibilité d'utiliser le filtre correctement. Cet article couvrira quelques causes courantes et solutions. 1. Analyse des causes : le filtre n'est pas enregistré correctement : les filtres dans Vue doivent être enregistrés avant de pouvoir être utilisés dans les modèles. Si le filtre n'est pas enregistré avec succès,

En PHP, la constante FILTER_VALIDATE_URL représente le filtre utilisé pour valider les URL En PHP, la constante FILTER_VALIDATE_URL représente le filtre utilisé pour valider les URL Sep 14, 2023 am 10:37 AM

La constante FILTER_VALIDATE_URL est utilisée pour valider les URL. L'indicateur FILTER_FLAG_SCHEME_REQUIRED−URL doit être conforme à la RFC. FILTER_FLAG_HOST_REQUIRED−URL doit contenir le nom d'hôte. FILTER_FLAG_PATH_REQUIRED−URL doit avoir un chemin après le nom de domaine. FILTER_FLAG_QUERY_REQUIRED−URL doit avoir une chaîne de requête. Valeur renvoyée FILTER_VALIDATE_URL

Fonction de filtre dans Vue3 : gérer les données avec élégance Fonction de filtre dans Vue3 : gérer les données avec élégance Jun 18, 2023 pm 02:46 PM

Fonctions de filtrage dans Vue3 : gérer les données avec élégance Vue est un framework JavaScript populaire avec une grande communauté et un puissant système de plug-ins. Dans Vue, la fonction filtre est un outil très pratique qui nous permet de traiter et de formater les données dans des modèles. Il y a eu quelques modifications dans les fonctions de filtre dans Vue3. Dans cet article, nous allons approfondir les fonctions de filtre dans Vue3 et apprendre à les utiliser pour gérer les données avec élégance. Qu'est-ce qu'une fonction de filtre ? Dans Vue, la fonction de filtre est

Comment filtrer et trier les données dans le développement de la technologie Vue Comment filtrer et trier les données dans le développement de la technologie Vue Oct 09, 2023 pm 01:25 PM

Comment filtrer et trier les données dans le développement de la technologie Vue Dans le développement de la technologie Vue, le filtrage et le tri des données sont des fonctions très courantes et importantes. Grâce au filtrage et au tri des données, nous pouvons rapidement interroger et afficher les informations dont nous avons besoin, améliorant ainsi l'expérience utilisateur. Cet article expliquera comment filtrer et trier les données dans Vue et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser ces fonctions. 1. Filtrage des données Le filtrage des données fait référence au filtrage des données qui répondent aux exigences en fonction de conditions spécifiques. Dans Vue, on peut passer comp

Filtre de courrier électronique PHP : filtrez et identifiez le spam. Filtre de courrier électronique PHP : filtrez et identifiez le spam. Sep 19, 2023 pm 12:51 PM

Filtre de courrier électronique PHP : filtrez et identifiez le spam. Avec l’utilisation généralisée du courrier électronique, la quantité de spam a également continué d’augmenter. Pour les utilisateurs, la quantité de spam qu’ils reçoivent peut entraîner une surcharge d’informations et une perte de temps. Par conséquent, nous avons besoin d’une méthode efficace pour filtrer et identifier les courriers indésirables. Cet article vous montrera comment écrire un filtre de courrier électronique simple mais efficace en utilisant PHP et fournira des exemples de code spécifiques. Principe de base du filtre de courrier électronique Le principe de base du filtre de courrier électronique est de déterminer si le courrier électronique est

Conseils pour utiliser des plug-ins pour implémenter des filtres personnalisés dans Vue Conseils pour utiliser des plug-ins pour implémenter des filtres personnalisés dans Vue Jun 25, 2023 pm 05:01 PM

Conseils d'utilisation des plug-ins pour implémenter des filtres personnalisés dans Vue Vue.js fournit un moyen pratique de gérer le besoin de filtrage des données d'affichage, c'est-à-dire de filtrer. Les filtres sont principalement responsables du formatage et du traitement des données dans la vue afin de rendre les données plus intuitives et plus faciles à comprendre. Vue intègre certains filtres couramment utilisés, tels que le formatage de la date, le formatage des devises, etc., et prend également en charge les filtres personnalisés. Cet article expliquera comment utiliser le plug-in Vue pour implémenter des filtres personnalisés et fournira quelques techniques de filtrage pratiques.

Plusieurs méthodes pour résoudre le code tronqué de Tomcat Plusieurs méthodes pour résoudre le code tronqué de Tomcat Dec 28, 2023 pm 01:32 PM

Plusieurs méthodes pour résoudre le problème des caractères chinois tronqués dans Tomcat, qui nécessitent des exemples de code spécifiques. En développement Web, nous rencontrons souvent le problème des caractères chinois tronqués dans Tomcat. Ce problème entraînera des caractères tronqués ou apparaîtra sous forme de cases, de points d'interrogation et d'autres caractères lors du traitement des caractères chinois, apportant une mauvaise expérience aux utilisateurs. Afin de résoudre ce problème, cet article présentera plusieurs méthodes couramment utilisées et fournira des exemples de code spécifiques. Modifiez le fichier de configuration Tomcat. Recherchez le fichier conf/server.xml dans le répertoire d'installation de Tomcat et recherchez la valeur par défaut.

Module de journalisation Python révélé : une analyse approfondie de ses capacités Module de journalisation Python révélé : une analyse approfondie de ses capacités Feb 21, 2024 am 09:30 AM

Le module pythonLogging est un outil puissant pour gérer la journalisation des applications. Il fournit un cadre flexible et configurable qui permet aux développeurs de contrôler la génération, le traitement et l'affichage des informations de journal. Niveaux de journalisation Le module Logging définit plusieurs niveaux de journalisation pour spécifier l'importance des messages de journalisation. Ces niveaux sont classés par ordre de gravité croissant : DEBUG : utilisé à des fins de débogage et de développement, en enregistrant des informations de débogage détaillées. INFO : enregistre les informations générales sur l'application telles que les événements et les opérations. AVERTISSEMENT : enregistre les problèmes potentiels ou les exceptions qui n'interrompent pas nécessairement l'application. ERREUR : enregistre une erreur grave ou une exception susceptible de provoquer l'échec de l'application. CRITIQUE : Des records en danger

See all articles