asp.net の ExceptionFilter フィルター
この記事では、主に asp.net core MVC グローバル フィルターの ExceptionFilter フィルターについて詳しく紹介します。興味のある方は参考にしてください。このシリーズでは、asp.net core の組み込みグローバル フィルターの使用について説明します。 MVCは以下の章に分かれています
asp.net core MVCフィルター - ExceptionFilterフィルター(1)
asp.net core MVCフィルター - ActionFilterフィルター(2)
asp.net core MVCフィルターResultFilterフィルター(3)
asp.net core MVC フィルター ResourceFilter フィルター (4)
asp.net core MVC フィルター AuthorizationFilter フィルター (5)
はじめにException フィルターは、名前が示すように、例外が発生した場合に使用されるフィルターです。プログラム。システム内でキャッチされなかった例外を処理するために使用されます。
カスタム例外フィルターの実装
グローバル例外フィルターをカスタマイズするには、IExceptionFilter インターフェイスの実装が必要です
public class HttpGlobalExceptionFilter : IExceptionFilter { public void OnException(ExceptionContext context) { throw new NotImplementedException(); } }
IExceptionFilter インターフェイスには、システムでキャッチされなかった例外が発生したときにトリガーされる OnException メソッドの実装が必要です。 OnException メソッドには、特定の例外情報、HttpContext、および mvc ルーティング情報を含む ExceptionContext 例外コンテキストがあります。システム内でキャッチされない例外が発生した場合、修正とデバッグを容易にするために、ロギング ツールを使用して例外の詳細情報を記録するのが一般的なアプローチです。以下はロギングの実装です。
/// <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; } }
グローバル フィルターを登録します
フィルターが作成されたので、asp.net core MVC に登録する必要があります。システムのルート ディレクトリで Startup.cs ファイルを見つけ、ConfigureServices メソッドを次のように変更します
services.AddMvc(options => { options.Filters.Add<HttpGlobalExceptionFilter>(); });
Test
リクエストで例外をスローします
ログは例外情報を正しくキャプチャします
ブラウザは 500 エラーを返し、カスタマイズされたエラー情報を返します。
以上がasp.net の ExceptionFilter フィルターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Vue エラー: フィルター内のフィルターが正しく使用できません。解決するにはどうすればよいですか?はじめに: Vue では、フィルターはデータの書式設定やフィルター処理に使用できる一般的に使用される関数です。ただし、使用中にフィルターを正しく使用できないという問題が発生する場合があります。この記事では、いくつかの一般的な原因と解決策について説明します。 1. 原因分析: フィルターが正しく登録されていません: Vue のフィルターは、テンプレートで使用する前に登録する必要があります。フィルタが正常に登録されなかった場合は、

Vue テクノロジ開発でデータをフィルタリングおよび並べ替える方法 Vue テクノロジ開発では、データのフィルタリングと並べ替えは非常に一般的で重要な機能です。データのフィルタリングと並べ替えを通じて、必要な情報を迅速にクエリして表示できるため、ユーザー エクスペリエンスが向上します。この記事では、Vue でデータをフィルターおよび並べ替える方法を紹介し、読者がこれらの関数をよりよく理解して使用できるように具体的なコード例を示します。 1. データのフィルタリング データのフィルタリングとは、特定の条件に基づいて要件を満たすデータをフィルタリングすることを指します。 Vue では、comp を渡すことができます

Vue3 のフィルター関数: データをエレガントに処理する Vue は、大規模なコミュニティと強力なプラグイン システムを備えた人気のある JavaScript フレームワークです。 Vue のフィルター関数は、テンプレート内のデータを処理して書式設定できる非常に実用的なツールです。 Vue3 のフィルター関数にはいくつかの変更が加えられています。この記事では、Vue3 のフィルター関数を詳しく説明し、それらを使用してデータを適切に処理する方法を学びます。フィルター機能とは何ですか? Vue のフィルター関数は次のとおりです。

FILTER_VALIDATE_URL 定数は、URL を検証するために使用されます。フラグ FILTER_FLAG_SCHEME_REQUIRED-URL は RFC に準拠している必要があります。 FILTER_FLAG_HOST_REQUIRED - URL にはホスト名が含まれている必要があります。 FILTER_FLAG_PATH_REQUIRED - URL にはドメイン名の後にパスが必要です。 FILTER_FLAG_QUERY_REQUIRED - URL にはクエリ文字列が必要です。戻り値 FILTER_VALIDATE_URL

PHP 電子メール フィルター: スパムをフィルターして識別します。電子メールの普及に伴い、スパムの量も増え続けています。ユーザーにとって、受信するスパムの量は情報過多や時間の無駄につながる可能性があります。したがって、スパムメールをフィルタリングして識別する効率的な方法が必要です。この記事では、PHP を使用してシンプルだが効果的な電子メール フィルターを作成する方法と、具体的なコード例を示します。電子メール フィルタの基本原則 電子メール フィルタの基本原則は、電子メールが

プラグインを使用して Vue でカスタム フィルターを実装するためのヒント Vue.js には、ビュー データのフィルター処理の必要性に対処する便利な方法、つまりフィルター (Filter) が提供されます。フィルターは主に、ビュー内のデータの書式設定と処理を担当して、データをより直感的で理解しやすくします。 Vue には、日付書式設定、通貨書式設定などの一般的に使用されるフィルターがいくつか組み込まれており、カスタム フィルターもサポートしています。この記事では、Vue プラグインを使用してカスタム フィルターを実装する方法を紹介し、いくつかの実用的なフィルター手法を提供します。

Tomcat での中国語の文字化けの問題を解決するためのいくつかの方法 (具体的なコード例が必要) Web 開発では、Tomcat での中国語の文字化けの問題によく遭遇します。この問題により、漢字を処理するときに文字化けが発生したり、ボックス、疑問符、その他の文字が表示されたりして、ユーザーに不快な体験をもたらします。この問題を解決するために、この記事では一般的に使用されるいくつかの方法を紹介し、具体的なコード例を示します。 Tomcat 設定ファイルを変更します。Tomcat インストール ディレクトリで conf/server.xml ファイルを見つけ、デフォルトのファイルを検索します。

pythonLogging モジュールは、アプリケーションのログを管理するための強力なツールです。開発者がログ情報の生成、処理、表示を制御できるようにする、柔軟で構成可能なフレームワークを提供します。ログ レベル ログ モジュールは、ログ メッセージの重要性を指定するためにいくつかのログ レベルを定義します。これらのレベルは重大度の順に並べられています。 DEBUG: デバッグと開発の目的で使用され、詳細なデバッグ情報が記録されます。 INFO: イベントや操作などの一般的なアプリケーション情報をログに記録します。警告: 必ずしもアプリケーションを中断するわけではない、潜在的な問題または例外をログに記録します。エラー: アプリケーションの障害を引き起こす可能性のある重大なエラーまたは例外をログに記録します。クリティカル: 記録が危険にさらされています
