首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WCF 技術內幕(31):通道——概述與正確認識通道架構

     編輯:關於.NET

通道:WCF 通訊的核心構件

通道負責傳輸、WS-* 協議、安全、交易處理。高組合性:可多種方式組合實現所需功能。可擴展:內部 API 允許自訂通道。絕大多數應用開發者不直接見到通道 API,但 Framework 開發者可透過自訂傳輸/協議通道擴展能力。理解通道內部實作對兩類開發者都至關重要。

學習建議:類型層次與實作並重

WCF API 複雜,通道層不例外。學習兩大支柱:類型層次、執行環境。最佳路徑:花時間掌握類型層次 → 動手建立簡單通道 → 嵌入 WCF 基礎設施。純讀類型層次易迷失,盲目寫代碼等同盲人摸象。前置技能:非同步程式設計(推薦 Jeffrey Richter《CLR via C#》)。

正確認識通道架構

通道堆疊:組合大於單一

安全、可靠、交易的 WCF 程式,必定使用多個通道:一個負責安全、一個負責可靠、一個負責交易。單一通道能力有限,堆疊組合提供完整功能。

堆疊運作:內部推進,外部不透明

WCF 僅使用堆疊頂端通道。訊息進入堆疍後,通道執行特定工作,呼叫下一個通道(或呼叫前/後繼續工作),內部自行推進/拉回訊息,**無外部控制器管理通道間訊息流轉**。建立完成後,堆疊對外為不透明實體(可查詢特定功能但非完全透明)。

堆疊結構:頂端訊息,底端位元組流

  • 發送端:頂端接收 Message,底端輸出位元組流至傳輸層
  • 接收端:底端接收位元組流,頂端輸出 Message
  • 中間通道:WS-* 協議、安全、交易的物理實作
  • 傳輸通道:Socket 連線、MSMQ 隊列等具體傳輸工作

無萬能通道,工廠建立實例

WCF 定義多種通道類型,各有專屬目的。工廠物件實例化通道,通常一對一關聯。通道與工廠皆在執行時組織成堆疍,**使用者代碼不直接建立通道**,由 WCF 定義的通道工廠創建(第 7 章詳述)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved