我们是不是需要在 WCF 服务器和客户端中指定相同的绑定?

Posted

技术标签:

【中文标题】我们是不是需要在 WCF 服务器和客户端中指定相同的绑定?【英文标题】:Do we need to specify the same binding in WCF server and client?我们是否需要在 WCF 服务器和客户端中指定相同的绑定? 【发布时间】:2012-06-12 15:45:46 【问题描述】:

从客户端调用 wcf 服务时出现以下错误。

接收方无法处理带有 Action '' 的消息,因为 EndpointDispatcher 的 ContractFilter 不匹配。这可能是 因为合同不匹配(不匹配的操作之间 发送方和接收方)或发送方之间的绑定/安全不匹配 和接收器。检查发送方和接收方是否相同 合同和相同的约束力(包括安全要求,例如 消息,传输,无)。

它说发送者和接收者需要使用相同的绑定。这是否意味着,如果我在服务器上使用BasicHttpBinding,则需要在客户端中指定相同的绑定?

感谢您的帮助!

【问题讨论】:

是的!客户端和服务器必须匹配它们的绑定和绑定配置(安全性、可靠性等设置) - 否则无法通信! mark - 您的评论包含问题的完整答案。您有什么理由没有将其发布为答案吗? 【参考方案1】:

它表示发送者和接收者需要使用相同的绑定。 这是否意味着,如果我在服务器上使用 BasicHttpBinding 相同 需要在客户端指定绑定吗?

在简单的情况下

但有时,当客户端和服务器之间存在路由器时,它们可以使用不同的绑定进行通信。例如。当服务使用 tcp 绑定 (netTcp) 并且客户端在实际情况下使用 http 绑定 (basicHttp) 时,它们不能相互通信,但它们之间有一个 routing service 使得通信成为可能。当然,路由服务必须使用基本的 http 绑定。

【讨论】:

以上是关于我们是不是需要在 WCF 服务器和客户端中指定相同的绑定?的主要内容,如果未能解决你的问题,请参考以下文章

在 WCF 自托管服务中指定 Singleton 服务

WCF:未提供服务证书。在 ServiceCredentials 中指定服务证书

如何避免需要在 CXF 或 JAX-WS 生成的 Web 服务客户端中指定 WSDL 位置?

在客户端加密并在 WCF REST 中的服务器上解密相同

如何在 Fastlane 的命令行中指定用户名?

WCF WS2007FederationHttpBinding 与 HTTPS