日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WCF中绑定的简单介绍

發布時間:2024/1/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF中绑定的简单介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

綁定基本概念

綁定就是一個從通用基礎類型派生出來的運行時類型。綁定中描述了傳輸協議,消息編碼格式和其他的一些用于通信的通信協議。

綁定的種類介紹

類型名配置文件使用名描述
BasicHttpBindingbasicHttpBinding用于和早期的webservice相兼容
WSHttpBindingwsHttpBindingweb服務綁定,支持最新的web服務標準WS*
WSDualHttpBindingwsDualHttpBinding支持WS*和雙向通信
WSFederationHttpBindingwsFederationHttpBinding支持WS* ,設計到單點登錄的安全相關
NetNamedPipeBindingnetNamedPipeBinding面向連接的綁定,在一臺機器上用命名管線通信
NetTcpBindingnetTcpBinding面向連接的綁定,通過Tcp進行跨進程和機器的通信
NetPeerTcpBindingnetPeerTcpBinding支持端到端的通信
NetMsmqBindingnetMsmqBinding支持基于MSMQ的通信
MsmqIntegrationBindingmsmqIntegrationBinding支持MSMQ組件的遷移

兩種方式來配置端點以及相關聯的綁定

綁定的配置可以使用配置文件的形式或是代碼的形式,如下面的代碼:

配置文件形式(服務端)

<endpoint address="HelloWorld" binding="basicHttpBinding" contract="Service.IHelloWorldService"></endpoint>

配置文件形式(客戶端)

<endpoint address="http://localhost:10000/HelloWorld" binding="basicHttpBinding"bindingConfiguration="BasicHttpBinding_oec2003" contract="HelloWorld.oec2003"name="BasicHttpBinding_oec2003" />

代碼形式

WSHttpBinding wsHttpBinding = new WSHttpBinding(); wsHttpBinding.Security.Mode = SecurityMode.Transport; wsHttpBinding.ReliableSession.Enabled = true; wsHttpBinding.TransactionFlow = true;

綁定的功能

每個綁定都必要要提供至少一個傳輸協議,一個消息編碼格式和一個相關的消息版本,除此之外還有一些其他的功能,如安全性、雙向通信、事務等。

傳輸協議:有Http、Https、Tcp、命名管線和MSMQ,這些都有專門的綁定類型與之對應。

消息編碼:描述了消息是如何格式化的,可以使用Binary、Text或Mtom。

消息版本:不管消息的編碼格式如何,消息總是表示為SOAP1.1或是SOAP1.2.

傳輸安全性:指在線傳輸證書、簽名和加密的能力。一般使用SSL。

消息安全性:指獨立于傳輸層的傳輸證書、簽名和加密的能力。

雙向通信:TCP和命名管線可以直接支持,但Http不支持。

這些綁定的功能都是通過配置綁定元素來進行激活看,下面就簡單介紹下綁定元素。

綁定元素

每一種綁定都會有一個綁定元素的集合,像前面提到的傳輸協議、編碼格式等都是綁定元素的一種。綁定元素在Net對應的類型都是繼承自BindingElement類。在WCF中的每一種綁定必須有一個傳輸協議和一個消息編碼格式。傳輸協議的通用綁定元素為TransportBindingElement,有下面一些子類繼承TransportBindingElement,分別代表不同類型的傳輸協議。

HttpTransportBindingElement

HttpsTransportBindingElement

MsmqTransportBindingElement

編碼格式通用綁定元素為MessageEncodingBindingElement,一些子類如下:

BinaryMessageEncodingBindingElement

TextMessageEncodingBindingElement

MtomMessageEncodingBindingElement

還有一些其他的不是必須但是在一些特定場合特別有用的綁定元素:

安全相關:SecurityBindingElement

混合雙向通信:CompositeDuplexBindingElement?? OneWayBindingElement

可靠通信:ReliableSessionBindingElement

事務:TransactionFlowBindingElement

使用上面的綁定元素必須引用命名空間System.ServiceModel.Channels

?

在WCF中使用綁定通常會在配置文件中來進行,盡管也可以用代碼的方式實現,但在配置文件中更加靈活。可以在端點的bindingConfiguration來進行擴展。看下面代碼:

<system.serviceModel><services><service name="Service.HelloWorldService" behaviorConfiguration="HelloWorldBebavior"><endpoint address="HelloWorld" binding="basicHttpBinding" bindingConfiguration="baseBinding_oec2003" contract="Service.IHelloWorldService"></endpoint><endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /><host><baseAddresses><add baseAddress="http://localhost:10000/"/></baseAddresses></host></service></services><bindings><basicHttpBinding><binding name="baseBinding_oec2003" maxReceivedMessageSize="10000"transferMode="Buffered"><security mode="Transport"></security></binding></basicHttpBinding></bindings><behaviors><serviceBehaviors><behavior name="HelloWorldBebavior"><serviceMetadata httpGetEnabled="true" /></behavior></serviceBehaviors></behaviors> </system.serviceModel>

?

本文只是簡單介紹了下綁定的概念以及綁定的種類,以及使用了一些代碼來說明綁定的運用,關于每種綁定的詳細介紹及用法在后面的博文中介紹。

總結

以上是生活随笔為你收集整理的WCF中绑定的简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。