WCF綁定提供了WCF通信的細節。
(一)綁定元素
綁定元素(Binding Element)用于為各種類型的信道(Channel)生成信道工廠(Channel Factory)和信道監聽器(Channel Listener)以處理傳出和傳入消息(Message)。
綁定(Binding)包含綁定元素,一個綁定對象是一個綁定元素對象的有序集合,而這些綁定元素是用來指定WCF通信所用的協定、編碼、傳輸等。
每一個綁定元素描述一個終結點與其它終結點通信方式的一個方面。下面是綁定層下的各綁定元素的介紹:
層
選項
是否必需
事務流
TransactionFlowBindingElement
否
可靠性
ReliableSessionBindingElement
安全性
對稱、非對稱、傳輸級
形狀更改
CompositeDuplexBindingElement
傳輸更新
SSL 流、Windows 流、對等解析程式
編碼
文本、二進制、MTOM、自定義
是
傳輸
TCP、命名管道、HTTP、HTTPS、MSMQ、自定義
其中,編碼層與傳輸層是必需的。
綁定元素負責對信道管理器(Channel Manager)的建立。
(二)信道管理器
信道管理器(Channel Manager)由綁定元素負責建立,它是信道的建立者。服務端的信道管理器叫做信道監聽器(Channel Listener);用戶端的信道管理器叫信道工廠。
信道管理器基類:ChannelManagerBase
它從CommunicationObject派生,且實作了IDefaultCommunicationTimeouts接口
public abstract class ChannelManagerBase
: CommunicationObject,
IDefaultCommunicationTimeouts
(1)服務端的信道監聽器
信道監聽器從ChannelListenerBase類派生,
另外還有接口IChannelListener 還有一個泛型接口IChannelListener<T>
這兩個接口分别有抽象基類:
ChannelListenerBase
ChannelListenerBase<T>
(2)用戶端的信道工廠
信道工廠從ChannelFactoryBase 類派生,
另外還有接口IChannelFactory 還有一個泛型接口IChannelFactory<T>
兩個接口分别有抽象基類:
ChannelFactoryBase
ChannelFactoryBase<T>
信道管理器負責對信道的建立。
(三)信道
多個信道(Channel)組成連續的信道棧。信道棧構成了消息(Message)傳遞的通道。
接口:IChannel
定義所有信道對象都必須實作的基本接口。它要求信道對象實作由所有信道對象共享的狀态機接口,還要求信道對象實作從信道棧中檢索對象的方法。
這個接口有一個抽象基類:ChannelBase
因為消息交換模式不同(MEP),有不同的信道接口。
IChannel 由基本消息交換模式的每個關聯信道接口繼承:
IInputChannel 用于接收消息。
IOutputChannel 用于發送消息。
IRequestChannel 用于發送請求。
IReplyChannel 用于發送回複。
IDuplexChannel 用于雙向消息傳遞。
更多内容,請見:
<a href="http://www.cnblogs.com/artech/archive/2008/09/22/1295639.html" target="_blank">http://www.cnblogs.com/artech/archive/2008/09/22/1295639.html</a>
部落格園大道至簡
<a href="http://www.cnblogs.com/jams742003/" target="_blank">http://www.cnblogs.com/jams742003/</a>
轉載請注明:部落格園