5

こんにちは、私の質問に答えてくれてありがとう。

中規模企業の内部目的で構築した asp.net webforms アプリケーションがあります。

まず、CRUD 操作中に発生する可能性のあるすべての例外を処理し、適切なメッセージをユーザーに表示します。ただし、一元化された方法で、最初にinnerExceptionメッセージをスタックトレースとともに自分自身に電子メールで送信し、次にメッセージをユーザーに表示する方法はありますか?

言い換えれば、私は EmailException() のようなメソッドを作成してすべての catch(Exception ex) ブロックで呼び出したくありませんが、すべての例外が最初にキャッチされる場所で一度呼び出したいと思います。

私の質問が十分に明確でない場合は、教えてください。

再度、感謝します!

4

2 に答える 2

4

Elmah は優れていますが、 Log4Netは他のログ機能と共にその機能も提供します。SmtpAppender定義を log4net 構成に追加する必要があるだけで、他のアペンダーも必要/必要/望みます。

シンプル、やりやすい。未処理の例外をキャッチする最も簡単な方法はApplication_Error()global.asax. Asp.Net ランタイムによって呼び出され、キャッチされます

要求の処理中に処理されなかったすべての ASP.NET エラー、つまり、Try/Catch ブロックまたはページ レベルのエラー ハンドラーでキャッチされなかったすべてのエラー。

Application_Error()Elmah、log4net、global.asaxメソッドはすべてうまく共存することに注意してください。Elmah はただそこに座ってsotto voceを聞き、通過する例外をログに記録します。

于 2012-12-12T18:02:45.690 に答える
3

Elmahはこれに最適です。

  • ほぼすべての未処理の例外のログ。
  • 記録された例外のログ全体をリモートで表示する Web ページ。
  • ログに記録された 1 つの例外の完全な詳細 (色付きのスタック トレースを含む) をリモートで表示するための Web ページ。*多くの場合、customErrors モードがオフになっていても、ASP.NET が特定の例外に対して生成した元の黄色の死の画面を確認できます。
  • エラー発生時の各エラーの電子メール通知。
  • ログからの最後の 15 個のエラーの RSS フィード。

これが設定例です。

于 2012-12-12T17:51:22.620 に答える