<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WCF從理論到實踐(5):Binding細解


      本文的出發點:

      通過閱讀本文,您能了解以下知識:

      1. WCF中的Binding是什么?
      2. Binding的組成?
      3. Binding Element 的分類?
      4. Binding描述了那些層面的信息?
      5. 選擇正確的Binding

      本文適合的讀者:

      本文適合WCF的初學者

      WCF中的Binding是什么?

      在弄清Binding是什么之前,我們先看一下WCF的中的Endpoint結構,一個Endpoint就類似于xml web service中的一個asmx文件,它包括三個組成部分1)Address 2) Binding 3) Contract,此三者被稱為組成Endpoint的"ABC",下圖闡述了Endpoint的組成結構:

      ABC分別解決了Endpoint的如下問題:

      A解決了Endpoint在哪的問題,也就是"Where is the endpoint?"

      B 解決的是如何與Endpoint通訊的問題,也就是"How to communicate with endpoint?"

      C解決了Endpoint提供什么功能的問題,也就是"What functionalities do the endpoint provide?"

      上面的兩篇文章WCF從理論到實踐三:八號當鋪之黑色契約WCF從理論到實踐四:路在何方分別闡述了Contract和Address,本文著重討論Binding, Binding實現的是在客戶端和服務端進行通訊的底層細節,包括數據如何傳輸(比如采用Tcp,Http等),如何解決安全問題(SSL,Message Level Security等),傳輸的消息的格式(如text/xml,MTOM,binary等)。

      Binding的組成?

      Binding包括三個組成部分:NameSpace,Name和BindingElement,如下圖所示:

      Name和NameSpace是服務元數據(meta date)的唯一標志,換句話說,二者就像Binding的姓名一樣,而BindingElement則描述Binding的特征,我們說Binding能解決通訊方式的問題,關鍵是靠BindingElement來進行描述。

      Binding Element 的分類

      Binding Element中最核心的組成部分,它分為以下三種類型

      1. Encoding Binding Element:它用于描述傳輸數據的編碼方式,比如用text/xml進行編碼,用binary編碼,用MTOM進行編碼都是在這個上面定義,每個Binding Element必須包含一個Encoding Binding Element。
      2. Transport Binding Element:它用于描述數據的傳輸方式,例如使用tcp進行傳輸,還是用http進行傳輸,還是用msmq,這些都是由Transport Binding Element來定

        義,每一個Binding Element 必須包含一個Transport Binding Element

      3. Protocol Binding Element: 指定諸如安全性、可靠性、上下文流設置(context flow settins)

      Binding描述了哪些層面的信息

      一個Binding包含著豐富的信息,每種信息都描述了服務端和客戶端交互過程中的一方面,如下表所示,Binding描述了這些層面的信息:

      層次

      備注說明

      Transactions(事務)

      TransactionFlowBindingElement,用于指定事務流程

      Reliability(信賴)

      ReliableSessionBindingElement,用于指定對會話方式

      Security(安全)

      SecurityBindingElement,指定安全方式

      Encoding(編碼)

      Text, Binary, MTOM, Custom,指定數據傳輸格式

      Transport(傳輸)

      TCP, Named Pipes, HTTP, HTTPS, MSMQ, Custom,指定傳輸方式

       

      選擇正確的Binding

      Binding是可以自定義實現的,可WCF框架已經為我們實現了足夠多的Binding,供我們來選擇,如下表所示:

      Binding名稱

      Configuration Element

      描述

      BasicHttpBinding

      basicHttpBinding

      一個指定用符合基本網絡服務規范通訊的binding,它用http進行傳輸,數據格式為text/xml

      WSHttpBinding

      wsHttpBinding

      一個安全的通用的binding,但它不能在deplex中使用

      WSDualHttpBinding

      wsDualHttpBinding

      一個安全的通用的binding,但能在deplex中使用

      WSFederationHttpBinding

      wsFederationHttpBinding

      一個安全的通用的支持WSF的binding,能對用戶進行驗證和授權

      NetTcpBinding

      netTcpBinding

      在wcf應用程序中最適合跨機器進行安全通訊的binding

      NetNamedPipeBinding

      netNamedPipeBinding

      在wcf應用程序中最適合本機進行安全通訊的binding

      NetMsmqBinding

      netMsmqBinding

      在wcf應用程序中最適合跨機器進行安全通訊的binding,并且支持排隊

      NetPeerTcpBinding

      netPeerTcpBinding

      一個支持安全的,多機交互的binding

      MsmqIntegrationBinding

      msmqIntegrationBinding

      一個用于wcf與現有msmq程序進行安全通訊的binding

       

      下面的表格分別刪除了上表中的Binding在互操作性(Interoperability), 安全性(Security), 是否支持會話(Session), 是否支持事務(Transactions)和是否為全雙工(Duplex)上不同。

      Bingding

      Interoperability

      Security

      Session

      Transactions

      Duplex

      BasicHttpBinding

      Basic Profile 1.1

      (None), Transport, Message

      None, (None)

      None

      n/a

      WSHttpBinding

      WS

      Transport, (Message), Mixed

      (None), Transport, Reliable Session

      (None), Yes

      n/a

      WSDualHttpBinding

      WS

      (Message)

      (Reliable Session)

      (None), Yes

      Yes

      WSFederationHttpBinding

      WS-Federation

      (Message)

      (None), Reliable Session

      (None), Yes

      No

      NetTcpBinding

      .NET

      (Transport), Message

      Reliable Session, (Transport)

      (None), Yes

      Yes

      NetNamedPipeBinding

      .NET

      (Transport)

      None, (Transport)

      (None), Yes

      Yes

      NetMsmqBinding

      .NET

      Message, (Transport), Both

      (None)

      (None), Yes

      No

      NetPeerTcpBinding

      Peer

      (Transport)

      (None)

      (None)

      Yes

      MsmqIntegrationBinding

      MSMQ

      (Transport)

      (None)

      (None), Yes

      n/a

      例外,《Programming WCF Services》有一幅圖也能說明各自的特征:

      下面的圖給出了我們選擇Binding的方式

      本文參考資料:

      1. http://www.rzrgm.cn/wayfarer/archive/2006/04/10/370957.html
      2. http://www.rzrgm.cn/artech/archive/2007/02/28/659331.html
      3. http://blog.csdn.net/TianBin_Su/archive/2006/10/08/1326566.aspx
      4. http://www.rainsts.net/article.asp?id=439
      posted @ 2008-02-03 11:47  Robin Zhang  閱讀(23624)  評論(24)    收藏  舉報
      主站蜘蛛池模板: 国产成人亚洲综合图区| 欧美午夜成人片在线观看| 久久国产精品波多野结衣| 人人澡人摸人人添| 欧美精品一区二区三区中文字幕 | 波多野结衣网站| 邻居少妇张开腿让我爽了一夜| 人成午夜大片免费视频77777| 国产午精品午夜福利757视频播放 国产午夜亚洲精品国产成人 | 田阳县| 国产极品精品自在线不卡| 柘城县| 国产成人一区二区不卡| 99久久国产精品无码| 成年黄页网站大全免费无码| 91精品久久一区二区三区| 国产女主播喷水视频在线观看| 国产一区二区丰满熟女人妻| 国产中文三级全黄| 色宅男看片午夜大片啪啪| 无码国产偷倩在线播放| 日韩精品中文字幕亚洲| 男人的天堂va在线无码| 久久久久久久一线毛片| 国产成人精品1024免费下载| 精品久久精品久久精品久久| 国产精品无码免费播放| 亚洲综合久久精品国产高清| 国产精品人成视频免| 自偷自拍亚洲综合精品| 性色av免费观看| 亚洲成人av免费一区| 亚洲伊人久久综合成人| 永久免费无码国产| 精品久久久久无码| 国产精品亚洲а∨天堂2021 | 精品国产高清中文字幕| 国产成人AV在线免播放观看新 | 日本少妇xxx做受| 日韩不卡一区二区三区四区| 亚洲av永久无码精品网站|