BasicHttpBinding vs WsHttpBinding vs WebHttpBinding

时间:2010-04-16 05:18:50

标签: wcf-binding basichttpbinding wshttpbinding webhttpbinding

在WCF中,有几种不同类型的基于HTTP的绑定:

这3个有什么不同?

特别是在功能/性能和兼容性方面存在哪些差异?

1 个答案:

答案 0 :(得分:492)

你在这里比较苹果和橘子:

  • webHttpBinding 是REST样式的绑定,您基本上只需点击一个URL并从Web服务中获取大量的XML或JSON

  • basicHttpBinding wsHttpBinding 是两个基于SOAP的绑定,与REST完全不同。 SOAP的优点是使用WSDL和XSD来描述服务,它的方法以及非常详细地传递的数据(REST还没有这样的东西)。另一方面,您不能只使用浏览器浏览到wsHttpBinding端点并查看XML - 您必须使用SOAP客户端,例如WcfTestClient或您自己的应用程序。

因此,您的第一个决定必须是:REST与SOAP(或者您可以从服务中公开这两种类型的端点 - 这也是可能的。)

然后,在basicHttpBinding和wsHttpBinding之间,存在以下差异:

  • basicHttpBinding是非常基本的绑定 - SOAP 1.1,在安全性方面并不多,在功能方面没有多少 - 但几乎与任何SOAP客户端兼容 - >非常适合互操作性,功能和安全性较弱

  • wsHttpBinding是完整的绑定,它支持大量的WS- *功能和标准 - 它具有更多的安全功能,你可以使用会话连接,你可以使用可靠的消息传递,你可以使用事务控制 - 只是更多的东西,但是wsHttpBinding也很重*“并且当你的消息在网络中传播时会增加很多开销

要在两者之间进行深入比较(包括表格和代码示例),请查看此代码项目文章:Differences between BasicHttpBinding and WsHttpBinding