私は、さまざまな異なるサービス (ヘッダーに資格情報トークンを含む) に宛てられたメッセージを取得し、それらのプロキシ クライアントを使用してそのメッセージをサービスに中継する必要がある "愚かな" サービス バスをゼロから構築してきました。
説明する短いコード スニペット -
ServiceBus: IServiceBus {
SomeService clientProxy = new SomeService();
clientProxy.OperationThatRequiresTokensHere(); //this is the way the message is relayed.
}
IDispatchMessageInspector を実装し、AfterRequest と BeforeReply を使用して次のことを試みています。
A. ヘッダーから値を取得し、それらをオブジェクトとして BeforeSend に送信します。
B. 正しいサービスへのプロキシ クライアント メッセージにそれらを挿入するための BeforeSend で。
ここでIDispatchを誤用していますか? これは正しいアプローチですか?サービスバスについての私の考えが今のところ正しいかどうかは無視してください。
これが適切でない場合、プロキシ メッセージが元のサービスに送信されるときにメッセージ ヘッダーを収集して適切に挿入するにはどうすればよいでしょうか。