我有一个服务,它发送一条将ReplyTo 标头设置为返回地址的消息。我以为 :
OperationContext.Current.GetCallbackChannel<IHelloCallback>().RespondHello("tomi");
将自动调用我的客户端,但我收到此异常:
要在服务器端复合双工通道上发送消息,消息必须具有“Via”属性或“To”标头集。
我做错了什么还是 WCF 有点懒惰?
目前,我使用消息检查器的行为来使这些标头匹配,但这似乎有点 hacky...
ps:我正在使用 MSMQ
更新
我创建了两个绑定元素以使 msmq over duplex 工作它在codeplex上可用您可以看到整个示例,但就像我说的,由于这个错误,我使用消息检查器的行为将传出消息的 To 标头设置为传入消息的回复。奇怪的是,我的客户不需要这种行为,他也可以回调我的服务。