3

我正在使用 WCF 和 netmsmqbinding,我收到以下错误消息:

合同需要 TwoWay(请求-答复或双工),但绑定 'NetMsmqBinding' 不支持它或未正确配置以支持它。为什么?

我的环境是window 2003 server。wcf servcie 作为窗口服务托管。预先感谢您的帮助。

4

2 回答 2

4

关于 WCF 中的队列绑定的注意事项包括所有服务操作必须是单向的,因为 WCF 中的默认队列绑定不支持使用队列的双工通信。

要不出现此错误,您需要更改 OperationContract 属性。下面的例子:

[OperationContract(IsOneWay = true)]
void YourMethod(YourClass objectHere)

如果您需要进行两种操作,则需要使用不同的绑定。

于 2011-07-02T01:28:43.160 回答
0

您只能将 OneWay 操作与 NetMsmqBinding 一起使用。您需要将 OperationContract 特性的 IsOneWay 属性设置为 true。

这里的解释:

所有服务操作都必须是单向的,因为 WCF 中的默认排队绑定不支持使用队列的双工通信。一个双向通信示例(Two-Way Communication)说明了如何使用两个单向合约来实现使用队列的双工通信。

于 2010-11-01T13:50:12.447 回答