0

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

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

将自动调用我的客户端,但我收到此异常:

要在服务器端复合双工通道上发送消息,消息必须具有“Via”属性或“To”标头集。

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

目前,我使用消息检查器的行为来使这些标头匹配,但这似乎有点 hacky...

ps:我正在使用 MSMQ

更新

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

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 回答