細數WCF基本技術種種方法
WCF基本技術作為基于SOA的一個框架產品,WCF實際上是構建了一個在互聯系統中實現各個應用程序之間通信的分布式框架。它使得系統構架師與開發人員在構建分布式系統時,能將更多的精力投入到與系統的業務邏輯本身的設計上來,而無需過多的考慮底層通信的實現及相關問題。
WCF最核心的部分是能夠快捷的創建一個服務,一個WCF服務端框架由宿主、端點以及服務類三部分所組成。
宿主(Host),即承載WCF Service運行的環境。可用的宿主環境包括:
(1) 自承載方式:在控制臺應用程序與基于WinForm的應用程序中都可以使用這種方式;
(2) 系統服務方式:服務可以隨著操作系統的啟動而自動啟動;
(3) IIS方式:與Web Services 的部署方式類似,由請求消息來激活服務,但只支持HTTP方式的綁定;
(4) WAS(Windows Process Activation Service)方式:這個宿主是 IIS7 的一部分,只有 Windows Vista 和 Windows Server 2008提供默認支持,它支持幾乎所有的通訊協議并提供了應用程序池、循環回收、空閑管理、身份管理、隔離等強大的功能。
服務類(Service Class)是指一個標記了一些WCF特有的屬性的類,它包含了對服務的業務邏輯的具體實現。
端點(Endpoints)是WCF實現通信的核心要素,客戶端和服務端都通過端點來交換消息,WCF 允許我們為服務添加多個綁定和端點。端點由地址(Address)、綁定(Binding)以及契約(Contract)三部分組成,如圖所示。在WCF基本技術中,類ServiceEndpoint代表了一個Endpoint,在類中包含的EndpointAddress,Binding,ContractDescription類型分別對應端點中的地址、綁定以及契約。
地址:每個服務都會關聯到一個唯一的地址,因此地址定位和唯一標志了一個端點,其主要提供了兩個重要信息: 服務位置以及傳送協議。在WCF基本技術中,地址由System.ServiceModel.EndpointAddress對象來表示,其包括URI、Identity、Headers三個要素。#t#
綁定:綁定提供了一種可設置的方式來選擇傳輸協議、消息編碼、通訊模式、可靠性、安全性、事務傳播以及交互方式等。例如在傳輸協議上可以選擇HTTP/HTTPS、TCP、P2P、IPC甚至是MSMQ等方式。消息編碼上可以選擇使用純文本方式來確保互操作能力,或者選擇二進制編碼來優化性能,或者使用 MTOM來提高負載能力,甚至是自定義編碼方式。 WCF基本技術中提供了BasicHttpBinding、NetTcpBinding、NetPeerTcpBinding、NetNamedPipeBinding、WSHttpBinding、WSFederationHttpBinding、WSDualHttpBinding 、NetMsmqBinding以及MsmqIntegrationBinding九種標準類型的綁定。