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

  • BasicHttpBinding
  • WsHttpBinding
  • WebHttpBinding

  • 这3个有什么区别?

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

    最佳答案

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

  • webHttpBinding 是REST样式的绑定(bind),您基本上只需单击URL并从Web服务
  • 中取回XML或JSON卡车
  • basicHttpBinding wsHttpBinding 是两个基于SOAP的绑定(bind),与REST完全不同。 SOAP的优点是可以使用WSDL和XSD来详细描述服务,其方法以及传递的数据(REST还没有类似的东西)。另一方面,您不能只使用浏览器浏览到wsHttpBinding端点并查看XML-您必须使用SOAP客户端,例如WcfTestClient或您自己的应用程序。

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

    然后,在basicHttpBinding和wsHttpBinding之间,存在以下差异:
  • basicHttpBinding是非常基本的绑定(bind)-SOAP 1.1,在安全性方面没有太多,在功能方面没有太多其他-但与那里的任何SOAP客户端兼容->互操作性极佳,功能和安全性较弱
  • wsHttpBinding是完善的绑定(bind),它支持大量的WS- *功能和标准-它具有更多的安全性功能,可以使用 session 连接,可以使用可靠的消息传递,可以使用事务控制-仅此而已之类的东西,但是wsHttpBinding也“重得多”,并且在您的消息通过网络传输时增加了很多开销

  • 有关两者之间的深入比较(包括表和代码示例),请查看此代码项目文章:Differences between BasicHttpBinding and WsHttpBinding

    关于wcf-binding - BasicHttpBinding与WsHttpBinding与WebHttpBinding,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2650785/

    10-10 11:32