我们是不是需要在 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:未提供服务证书。在 ServiceCredentials 中指定服务证书