📜  WCF-服务绑定

📅  最后修改于: 2020-11-19 09:25:26             🧑  作者: Mango


WCF服务绑定是几个元素的集合,其中每个元素定义服务与客户端进行通信的方式。传输元素和消息编码元素是每个绑定的两个最重要的组成部分。在本章中,我们将讨论各种常用的WCF服务绑定。

基本绑定

基本绑定由BasicHttpBinding类提供。它使用HTTP协议来传输WCF服务并将其表示为ASP.NET Web服务(ASMX Web服务),以便使用ASMX Web服务的旧客户端可以方便地使用新服务。

基本绑定在Silverlight启用的WCF Web服务中设置为默认绑定,并且是用于Web服务样式的通信的标准绑定。它不支持可靠的消息传递。

下面给出的代码段描述了基本绑定的默认设置。


   
   
      

      
         
         
             
   

            

上面的默认设置有其明显的局限性,因为消息大小受到限制并且没有安全模式。但是,自定义基本绑定可以解决以下问题。


   
   
      
      
     
   

Web服务绑定

WSHttpBinding类提供Web服务(WS)绑定。它与基本绑定非常相似,并且使用相同的协议进行传输,但是提供了多个WS- *规范,例如WS-Reliable Messaging,WS-Transactions,WS-Security等。简而言之,WSHttpBinding等于basicHttpBinding和WS– *规范的总和。下面给出的是一个代码片段,描述了WS Binding的默认设置-


    
   
      

       

      
         

                     
      
      
   

IPC绑定

IPC绑定使用命名管道,并由netNamedPipeBinding类提供。在所有可用的绑定中,这是最快的绑定,也是最安全的绑定。尽管此处不支持消息级安全性,但是由于强大的传输安全性,默认情况下消息是安全的。下面给出的是描述IPC绑定默认设置的代码片段-


   
     

      
   
                  
      
      
   

其他类型的服务绑定

  • TCP绑定-由NetTCPBinding类提供,此绑定利用TCP协议在同一网络内进行通信,并以二进制格式进行消息编码。与其他绑定相比,此绑定被认为是最可靠的。

  • WS Dual Binding-这种绑定类型更像WSHttpBinding,唯一的例外是它促进了双向通信,即,客户端和服务都可以发送和接收消息。它由WSDualHttpBinding类提供。

  • Web绑定-Web绑定旨在通过使用HTTP-GET,HTTP-POST等方式以HTTP请求的形式表示WCF服务。它是由WebHttpBinding类提供的,通常在社交网络中使用。

  • MSMQ绑定-由NetMsmqBinding类提供,用于提供解决方案,以防服务在不同于客户端发送消息的时间处理消息。 MSMQ绑定利用MSMQ进行传输,并为排队的分离消息提供支持。 MSMQ是Microsoft提供的消息队列的实现。

  • 联合WS绑定-这是WS绑定的一种特定形式,并提供对联合安全性的支持。它由WSFederationHttpBinding类提供。

  • 对等网络绑定-由NetPeerTCPBinding类提供,它主要用于文件共享系统。它使用TCP协议,但利用对等网络作为传输。在此网络中,每台机器(节点)充当其他节点的客户端和服务器。对等网络绑定用于torrent之类的文件共享系统中。

  • MSMQ集成绑定-由MsmqIntegrationBinding类提供,它有助于与通过MSMQ(Microsoft消息队列)进行通信的现有系统进行通信。

除此之外,还可以创建自定义绑定。但是,由于可以调整每个WCF绑定的配置属性,因此很少需要创建自定义绑定。