我正在使用 WCF 和 netmsmqbinding,我收到以下错误消息:
合同需要 TwoWay(请求-答复或双工),但绑定 'NetMsmqBinding' 不支持它或未正确配置以支持它。为什么?
我的环境是window 2003 server。wcf servcie 作为窗口服务托管。预先感谢您的帮助。
我正在使用 WCF 和 netmsmqbinding,我收到以下错误消息:
合同需要 TwoWay(请求-答复或双工),但绑定 'NetMsmqBinding' 不支持它或未正确配置以支持它。为什么?
我的环境是window 2003 server。wcf servcie 作为窗口服务托管。预先感谢您的帮助。
关于 WCF 中的队列绑定的注意事项包括所有服务操作必须是单向的,因为 WCF 中的默认队列绑定不支持使用队列的双工通信。
要不出现此错误,您需要更改 OperationContract 属性。下面的例子:
[OperationContract(IsOneWay = true)]
void YourMethod(YourClass objectHere)
如果您需要进行两种操作,则需要使用不同的绑定。
您只能将 OneWay 操作与 NetMsmqBinding 一起使用。您需要将 OperationContract 特性的 IsOneWay 属性设置为 true。
这里的解释:
所有服务操作都必须是单向的,因为 WCF 中的默认排队绑定不支持使用队列的双工通信。一个双向通信示例(Two-Way Communication)说明了如何使用两个单向合约来实现使用队列的双工通信。