天天看點

WCF綁定細節(1)——概述

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>

轉載請注明:部落格園

繼續閱讀