私はウェブサイトとウェブジョブを持っています。ウェブサイトは一方向クライアントで、ウェブジョブはワーカーです。Rebus - 遅延メッセージを別のキューに送信する(Azure ServiceBus)
私はキューのAzure ServiceBusトランスポートを使用します。
InvalidOperationException: Cannot use ourselves as timeout manager because we're a one-way client
私はウェブサイトのバスからBus.Deferを送信しよう:
は、私は次のエラーを取得します。
Azure Servicebusはtimeoutmanagerのサポートを内蔵しているので、一方向のクライアントからこのイベントを処理しないでください。
Bus.Deferのドキュメントには次のようなメッセージが記載されています。ヘッダーをヘッダーに添付して、構成されたタイムアウトマネージャエンドポイント ///(デフォルトは自分自身)に配信することによって、メッセージの配信を遅延させます。時間が右である場合には、繰延メッセージは、ヘッダにより示されたアドレスに返され、「
私はこのようなRETURNADDRESSを設定することによってこの問題を解決でした:。
headers.Add(Rebus.Messages.Headers.ReturnAddress, "webjob-worker");
これはRebusに追加できる機能ですか?もしそうなら、私はGitHubレポで問題を作りますか? –
さて、私はそれについて考えました - しかし、どこに追加すべきか疑問に思っていましたが、それをどう呼び出すべきか疑問に思っていました。今のところ、 'IBus'で拡張メソッドを作成して追加することをお勧めします。宛先キューを引数として受け入れる – mookid8000