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

Learn WCF (1) 基礎觀念篇:WCF 架構、服務組成、端點 ABC 與服務模型三大程式設計範式

     編輯:關於.NET

Windows Communication Foundation (WCF) 是面向服務程式設計的綜合分層架構,整合 ASMX、.NET Remoting、Enterprise Services、WSE、MSMQ 等技術。本文建立 WCF 核心觀念基礎。

WCF 整合技術全景

WCF 整合技術圖

WCF 可視為上述技術的超集,提供統一程式模型。

WCF 服務三大核心組成

WCF 服務組成

  1. Service Class (服務類別):標記 [ServiceContract] 的類別,包含業務邏輯方法
  2. Host (宿主):服務執行環境——Console、Windows Service、IIS/WAS、WPF/WinForm 應用程式
  3. Endpoints (端點):通信核心,一個服務可有多個端點

端點三要素 (ABC)

端點 ABC

  1. Address (地址):服務位置 (URL),如 https://localhost:8000/MyService
  2. Binding (繫結):通信協定堆疊
    • 傳輸協定:HTTP、TCP、Named Pipe、MSMQ
    • 編碼方式:Text/XML、Binary、MTOM
    • 安全機制:Transport/Message/Credential 模式
  3. Contract (契約):公開作業定義 ([ServiceContract] 介面)

類別 ServiceEndpoint 封裝 EndpointAddress、Binding、ContractDescription。

WCF 服務模型三大程式設計範式

服務模型

  1. 屬性導向程式設計:[ServiceContract]、[OperationContract]、[DataContract] 等標記屬性定義服務形態
  2. 組態導向程式設計:Web.config/App.config 中 <system.serviceModel> 定義端點、繫結、行為
  3. 命令式程式設計:直接使用 ServiceHost、Binding、EndpointAddress 等類別在程式碼中建構服務

實務上常混合使用:合約用屬性、部署細節用組態、特殊動態需求用命令式。

設計原則:關注點分離

軟體組件應專注特定任務。管理系統不應內建通信邏輯,應委託 WCF 服務處理對外通信,實現業務邏輯與通信基礎設施的分離。

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