2015-11-06 23 views

回答

0

basicHttpBinding的: 基本的Web服务通信。将WCF服务公开为传统的ASMX Web服务。用于互操作性。默认没有安全性。

WSHttpBinding:带WS- *支持的Web服务。支持交易和可靠的消息。

NetTcpBinding:跨计算机的WCF应用程序之间的通信。支持双面合同和交易。

为了进一步澄清检查以下链接

http://www.codeproject.com/Articles/431291/WCF-Services-Choosing-the-appropriate-WCF-binding

http://www.dotnet-tricks.com/Tutorial/wcf/VE8a200713-Understanding-various-types-of-WCF-bindings.html

http://wcftutorial.net/wcf-types-of-binding.aspx

+0

它不是我的答案...它不能解释为什么... – user3140050

+0

你是否检查过链接 – Vinoth

0

取决于你在 “协议” 明白。

试图解释:在任何情况下,任何WCF服务都适用于TCP/IP传输协议。 当你启动服务时,它侦听IP套接字,然后接受传入字节[],然后区别在于应用程序级协议。

要将字节转换为.NET对象,有一个从所谓的MessageEncoder开始的流水线。在编码器中,字节被反序列化成一个Message对象。默认情况下有3条型编码器:

  • 文本编码器,其将字节[]到串
  • MTOM编码器。

MTOM是用于与SOAP消息作为原始字节传输大二进制附件的机构,从而允许更小的消息

  • 二进制编码器,使用其将字节[]到.NET对象。净特定的二进制序列化器,它与非.net系统不兼容

所以这里是差异:

  • BasicHttp绑定使用文本编码器。它将传入的字节解释为HTTP请求,并将字节流转换为Http标头和正文。然后,根据绑定和消息解序列器的特定类型,正文被反序列化,这是服务行为的一部分。 在一种情况下,该主体被反序列化为SOAP/XML(BasicHttp),其他方式如XML或JSON(webHttpBinding)。
  • WS bindins可以使用文本编码器以及MTOM编码器。在第二种情况下,编码器知道如何从byte []流文本XML/SOAP部分和二进制附件中获取。
  • netTcp绑定使用二进制编码器并将字节直接反序列化到对象中。

因此,绑定地址中的协议部分简单地区分了这两种主要情况“http://”用于绑定,这是一种非标准化,兼容非.NET世界,基于文本的绑定。和“net.tcp”为纯粹的Windows + .NET的东西。

相关问题