3

メッセージを処理する .net サービスがあります。失敗した場合は、log4net を使用してファイルに書き込みます。このために SMTP アペンダーを追加しました。問題は、何か問題が発生したときにメールを 1 通だけ送信したいということです。app.config の MaxRetries が 5 に設定されており、これは正しいです。5 つのエラーが log4net ファイルに記録されますが、5 つの電子メールも送信されます。

最大再試行回数を把握し、到達したときにメールを送信する方法はありますか?

ご協力いただきありがとうございます。

4

1 に答える 1

5

エラー キューから読み取る通常の nservicebus エンドポイントを追加します。IMessage のハンドラーを追加し、そのハンドラー内に smtpclient.send への呼び出しを追加します。

興味のあるメッセージベースのシステムのエラー処理を説明しようとする投稿があります: http://andreasohlund.net/2010/03/15/errorhandling-in-a-message-directional-world/

これが役に立ちますように!

于 2010-05-11T13:28:16.237 に答える