.net 为什么WCF没有';是否会自动影响发送邮件上的“收件人”标题以及传入邮件的“ReplyTo”?

.net 为什么WCF没有';是否会自动影响发送邮件上的“收件人”标题以及传入邮件的“ReplyTo”?,.net,wcf,msmq,duplex,msmqbinding,.net,Wcf,Msmq,Duplex,Msmqbinding,我有一个服务,它发送一条消息,并将ReplyTo头设置为返回地址。 我想: OperationContext.Current.GetCallbackChannel<IHelloCallback>().RespondHello("tomi"); OperationContext.Current.GetCallbackChannel().RespondHello(“tomi”); 将自动调用我的客户端,但我收到此异常: 用于在服务器端发送消息 复合双工信道,消息 必须具有“Via”属

我有一个服务,它发送一条消息,并将ReplyTo头设置为返回地址。 我想:

OperationContext.Current.GetCallbackChannel<IHelloCallback>().RespondHello("tomi");
OperationContext.Current.GetCallbackChannel().RespondHello(“tomi”);
将自动调用我的客户端,但我收到此异常:

用于在服务器端发送消息 复合双工信道,消息 必须具有“Via”属性或 “To”标题集

是我做错了什么,还是WCF有点懒

目前,我使用一个带有消息检查器的行为来匹配这些头文件,但它似乎有点不正常

ps:我正在使用MSMQ

更新


我创建了两个绑定元素,以使msmq over duplex工作。您可以看到整个示例,但正如我所说的,由于此错误,我使用消息检查器的行为将传出消息的to标头设置为传入消息的ReplyTo。奇怪的是,我的客户端不需要这种行为,他也可以回调我的服务。

如果没有打开可靠会话,则可能会发生此错误

编辑:

以下是指向似乎已成功将MSMQ传输用作双工传输的人的链接:


希望有帮助

您是否为MSMQ创建了自己的自定义绑定以包括双工通信?wsDualHttpBinding是唯一支持双工通信以及CallbackContract机制的WCF“开箱即用”绑定

如果有,请发布绑定配置好吗


Marc

使用MSMQ消息传递的可靠会话毫无意义,因为消息传递适用于不一定同时运行的两个服务,但正如MSDN所说,“WCF支持同时处于活动状态和活动状态的端点之间的可靠会话”。所以我不会使用这个解决方案。是的,我在这里创建了两个绑定元素使msmq over duplex工作:duplexmsmq.codeplex.com您可以看到整个示例,但正如我所说的,由于当前出现此错误,我使用消息检查器的行为将传出消息的to标头设置为传入消息的ReplyTo。奇怪的是,我的客户不需要这种行为,他也可以回调我的服务。