2

NSerivceBus を使用して、特定の時間枠でのみメッセージをリモート ハンドラーに送信するシステムを構築しています。これまでのところ、すべてのメッセージを処理キューに配置し、そこからリモート ハンドラーが使用できるかどうかを確認しました。ハンドラーが使用できない場合は、境界を越えてメッセージを送信していません。これを行うために私は使用しています

Bus.HandleCurrentMessageLater()

しかし、NSBはすぐに挑戦し続けます。他のリスナーが数分で起動して実行されるわけではありませんが、数時間の停止期間がある可能性があるため、これは正確には効率的ではありません。

しばらくしてからバスにメッセージを再試行させる方法があるかどうか、または再試行を続けずに次の再試行までしばらく待機する方法があるかどうか疑問に思っています。私は Sagas を使用します。単純なコマンド/ハンドラー メッセージングです。

4

1 に答える 1

5

バージョン 3.0 では、Bus.Defer を使用して、一定の期間が経過した後にメッセージを戻すことができます。

于 2012-04-13T12:06:15.067 に答える