0

NServiceBus に関する監視ツールを構築しています。現在、ITransport インターフェイスでいくつかのイベントをサブスクライブしています。

ITransport Events:
TransportMessageReceived 
FailedMessageProcessing
FinishedMessageProcessing 

イベントをサブスクライブするとTransportMessageReceived、イベント引数で現在のメッセージへの参照が取得されます。ただし、FinishedMessageProcessingイベントが発生すると、完了したメッセージへの参照が含まれていないようです。これは、例外を含むイベントには当てはまりますFailedMessageProcessingが、例外の原因となったメッセージには当てはまりません。

FailedMessageProcessing および FinishedMessageProcessing イベントが発生したときにメッセージへの参照を取得する方法があるかどうか疑問に思っていました

ありがとう!

4

1 に答える 1

2

失敗したメッセージの場合、次のインターフェイスを実装して、メッセージへの参照を取得できます。

 public interface IManageMessageFailures
{
    void SerializationFailedForMessage(TransportMessage message, Exception e);

    void ProcessingAlwaysFailsForMessage(TransportMessage message, Exception e);

    void Init(Address address);

}

これを使用する場合、最初は Second Level Retries を使用できないことに注意してください。

于 2012-08-08T17:47:37.850 に答える