メッセージが到着したときに通知を受けるために、WCFのどこにプラグインしますか?
-
03-07-2019 - |
質問
サンプルのコンソールサービスホストを作成していて、WCFスタックにプラグインして、新しいメッセージが到着したときにコンソールにメッセージを出力できるようにします。サービスは以前の呼び出しで機能しています)。 これは、到着したメッセージがWCFによってキューに入れられるという私の仮定に基づいています。それは正しいですか?
さらに、これが重要な場合は、netTcpBindingを使用しています。
解決
カスタムチャネルを作成し、任意の時点でチャネルスタックに挿入できます。キューイングは各チャンネルの間にあるChannelListenersで行われます:
ChannelListener_1-> Channel_1-> ChannelListener_2-> Channel_2->など。
したがって、独自のチャンネルリスナー/チャンネルを挿入する場合、必要なプロセスの任意の部分にフックできます。ただし、メッセージの内容は、スタックをさらに下がって解読されるまで読み込めない可能性があることに注意してください。
他のヒント
おそらく、そのためのカスタムチャネルを作成する必要があります。 WCF Channels Mini Book
をご覧ください。所属していません StackOverflow