0

ReplyToヘッダーを差出人アドレスに設定してメッセージを送信するサービスがあります。私は思った:

OperationContext.Current.GetCallbackChannel<IHelloCallback>().RespondHello("tomi");

クライアントを自動的に呼び出しますが、次の例外が発生します:

サーバー側の複合デュプレックスチャネルでメッセージを送信するには、メッセージに「Via」プロパティまたは「To」ヘッダーセットのいずれかが必要です。

私は何か間違ったことをしていますか、それともWCFは少し怠惰ですか?

現在、これらのヘッダーを一致させるためにメッセージインスペクターの動作を使用していますが、少しハッキーなようです...

ps:私はMSMQを使用しています

アップデート

msmq overduplexを動作させるために2つのバインディング要素を作成しました。コードプレックスで利用できます。例全体を見ることができますが、前述のように、このエラーのために、メッセージインスペクターの動作を使用して送信メッセージのToヘッダーをに設定します。着信メッセージのReplyTo。奇妙なことに、私のクライアントはこの動作を必要とせず、彼は私のサービスをコールバックすることもできます。

4

2 に答える 2

0

このエラーは、信頼できるセッションがオンになっていない場合に発生する可能性があります。

編集:

これは、MSMQ トランスポートを二重トランスポートとして使用することに成功したと思われる人物へのリンクです。

http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2006/10/26/8937.aspx

それが役に立てば幸い

于 2009-08-02T22:45:18.110 に答える
0

二重通信を含めるために、MSMQ 用に独自のカスタム バインドを作成しましたか? wsDualHttpBinding は、二重通信と CallbackContract メカニズムをサポートする唯一の WCF "すぐに使える" バインディングです。

もしそうなら、バインディング設定を投稿していただけますか?

マルク

于 2009-08-03T11:03:34.203 に答える