2

ASP.NET MVC アプリでは、302 ではなく 404、500 などの実際の HTTP ステータス コードを返したい場合、既定のオプションは<system.web><customErrors>うまく機能しません (Web フォームでのみ機能するため)。

どこでどのように例外をキャッチしても (Global.asax やグローバル エラー ハンドラーなど)、その例外を "飲み込む" (例: を使用Server.ClearError()) 場合でも、クライアントにレンダリングされる内容を完全に制御できますが、既定のログ記録は失われます ( Windows イベント ログに書き込まれる Web イベント)。この種のロギングは私にとっては問題なく機能します。非常に堅牢であり、とにかくイベント ログを監視しているので、まさにロギングに必要なものです。

たとえば、Global.asax で、ASP.NET に現在のエラーを Web イベントとして記録させ、エラークリアするように強制することはできますか?

ASP.NET 4 と IIS7.5 統合モードを必要とするソリューションは問題ありません。

この種の動作するオプションの 1 つは の使用ですが、これはではなくで<system.webServer><httpErrors>のみ動作します。これは、ASP.NET が を自動的に設定するように見えるためです。また、アプリケーションのいくつかのコントローラーがカスタム エラー ページ (XML )。existingResponse="Replace"AutoTrySkipIisCustomErrors=trueAuto

事前にどうもありがとうございました!

4

0 に答える 0