私には何かが非常に奇妙に思えます。Reflector を使用して WCF の内部を調べようとしましたが、理解するのが難しすぎることを許してください :(.
クライアント A が wsDualHttpBinding でサーバー B の双方向サービスを呼び出すとき、クライアント A はこのようにリクエストのヘッダーにクライアント ベース アドレス (コールバックのアドレス) を含めると考えていました。
<a:ReplyTo>http://client.foo/29293-3287-2387-3291</a:ReplyTo>
.
しかし、
OperationContext.Current.IncomingMessageHeaders.ReplyTo
nullを返します...
クライアントチャネルのアドレスを知るためにwsDualHttpBindingはどのようにしていますか????
黒魔術か何かですか?
解決
これは、replyTo アドレスの転送を担当する信頼できるセッションです。customBinding のこれらのバインディング要素でこれを確認できます
<reliableSession/>
<compositeDuplex/>
<oneWay></oneWay>
<textMessageEncoding></textMessageEncoding>
<httpTransport/>
trustedSession を削除すると、サービスにはコールバック チャネルがなくなります...