Wcf binding BasicHttpBinding vs WsHttpBinding vs WebHttpBinding

Wcf binding BasicHttpBinding vs WsHttpBinding vs WebHttpBinding,wcf-binding,basichttpbinding,wshttpbinding,webhttpbinding,Wcf Binding,Basichttpbinding,Wshttpbinding,Webhttpbinding,在WCF中,有几种不同类型的基于HTTP的绑定: 这三者之间有什么区别 特别是在功能/性能和兼容性方面有什么区别?您在这里比较苹果和橙子: webHttpBinding是REST风格的绑定,基本上只需点击一个URL,就可以从web服务返回一卡车XML或JSON basicHttpBinding和wsHttpBinding是两种基于SOAP的绑定,与REST有很大不同。SOAP的优点是有WSDL和XSD来详细描述服务、服务的方法和传递的数据(REST还没有类似的东西)。另一方面,您不能

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

这三者之间有什么区别


特别是在功能/性能和兼容性方面有什么区别?

您在这里比较苹果和橙子:

  • webHttpBinding是REST风格的绑定,基本上只需点击一个URL,就可以从web服务返回一卡车XML或JSON

  • basicHttpBindingwsHttpBinding是两种基于SOAP的绑定,与REST有很大不同。SOAP的优点是有WSDL和XSD来详细描述服务、服务的方法和传递的数据(REST还没有类似的东西)。另一方面,您不能只使用浏览器浏览到wsHttpBinding端点并查看XML—您必须使用SOAP客户端,例如WcfTestClient或您自己的应用程序

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

然后,basicHttpBinding和wsHttpBinding之间的区别如下:

  • basicHttpBinding是非常基本的绑定—SOAP 1.1,在安全性方面没有太多,在功能方面也没有太多—但与任何SOAP客户端兼容-->互操作性很好,功能和安全性很差

  • wsHttpBinding是一个成熟的绑定,它支持大量的WS-*特性和标准—它有更多的安全特性,您可以使用会话连接,您可以使用可靠的消息传递,您可以使用事务控制—只需要更多的东西,但wsHttpBinding也要重很多“而且,当消息在网络上传播时,会给它们增加很多开销


要对两者进行深入比较(包括表格和代码示例),请查看这篇codeproject文章:

亲爱的,我不是在这里做任何决定,我只是想知道区别,你必须知道橙色和苹果的味道是什么,这就是我问这个问题的原因。我需要更多关于WebHttpBinding的功能比较和性能方面的信息,请选择Google或Bing,搜索“REST vs.SOAP”—大量信息!一个更正:wsHttpBinding不支持流式传输。还是我遗漏了什么@Andrew Shepherd:感谢您的链接和更正-您完全正确,wsHttpBinding不支持流媒体传输…@EduardoLeón REST的租户之一是利用HTTP内置的功能。身份验证内置于HTTP中,因此您可以潜在地使用所需的任何类型的身份验证提供程序。它可以像Basic或NTLM一样简单,也可以做一些更高级的事情,利用OAuth/STS令牌,等等。[BasicHttpBinding=SOAP1.1],[WsHttpBinding=SOAP1.2],[WebHttpBinding=Rest]这里比较两种基于Soap的绑定: