天天看點

信道

1、信道

信道就是WCF應用程式接收和發送所有資訊的通道。它負責在一個持續的方式中準備并傳輸消息。信道是為傳輸,協定和消息交換定義的。信道被放到一起來建立信道棧。信道棧是處理消息的分層通信棧。比如,一個信道棧可以由一個TCP傳輸信道和一個事務協定信道組成。這樣的一個信道棧允許使用在網絡中的用戶端和服務端之間使用TCP協定和事務流轉來發送/接收消息。

2、信道棧

信道棧的目标是把一條消息轉成與發送方,接收方相容的線上格式并傳輸這條消息。有兩種類型的信道用來做這個: 傳輸信道和協定信道。傳輸信道總是位于信道棧的最底端,它使用一個傳輸協定來傳輸消息。

WCF提供了數種傳輸信道,包括HTTP,TCP,MSMQ,P2P和命名管道。一個信道棧是一系列使用綁定元素配置的信道,信道棧至少有一個傳輸信道和一個編碼信道

信道

3、單向通信模式

用來實作單向通信的兩個接口是IOutputChannel和IInputChannel.

信道

4、雙工通信模式

IDuplexChannel接口來處理,雙工通信的例子是事件提醒系統。服務端将向事件接收端發送事件。用戶端提供一個服務端用來發送消息的終結點

信道

5、請求-回複通信

求-回複通信是雙向通信的特殊形式,它的每個請求隻有一個回複,而且它總是在用戶端初始化。在用戶端發送一個請求後,它必須在發送另外一個請求前等待一個回複。IRequestChannel和IReplyChannel接口來處理請求-回複通信

信道

6、信道監聽器

信道監聽器在WCF中形成服務端通信的基礎。它們用來監聽請求消息,建立信道棧,提供對應用程式棧頂的引用。它們從傳輸信道或者信道棧中的底層信道接收消息。大部分開發人員不會直接使用信道監聽器。他們使用ServiceHost來寄宿服務,ServiceHost使用一個信道監聽器來監聽消息。

7、信道工廠 

一個信道工廠建立一個發送消息的信道并維護它建立的信道的所有權。大多數開發人員不會直接使用一個信道工廠。對應的,他們會使用一個繼承自ClientBase<>的類,通常由svcutil.exe 或者在Visual Studio中添加服務引用生成。

8、

​​信道 ICommunicationObject​​

繼續閱讀