NServiceBusは、タイムアウトメカニズムを提供します。nservicebus.comから:
基本クラスのRequestTimeoutメソッドは、NServiceBusにメッセージを別のエンドポイントに送信するように指示します。このメッセージは永続的に時間を保持します...この機能の基本的な実装を提供するTimeoutManagerと呼ばれるNServiceBusに付属するプロセスがあります。
時間切れになると、Timeout Managerはメッセージをサガに送り返し、そのTimeoutメソッドが最初に渡されたのと同じ状態オブジェクトで呼び出されるようにします。
私が見ているように、メッセージが受信者に配信されたにもかかわらず、タイムアウトがトリガーされる可能性があります(たとえば、応答がどこかでスタックしました)。
メッセージが受信者に届いたかどうかに関係なく、アプリケーションが正しく動作するようにアプリケーションを設計するにはどうすればよいですか。