WCF架構
WCF是一個分層架構,為開發各種分布式應用的充分支持。該體係結構在下麵將詳細說明。
約定
約定層旁邊就是應用層,並含有類似於現實世界的約定,指定服務和什麼樣的信息可以訪問它會使操作的信息。約定基本都是在簡短的討論如下四種類型。
-
Service contract - 約定規定,在溝通過程中使用的信息給客戶端,以及對終端的產品和協議的外部世界。
-
Data contract - 由服務交換的數據是由一個數據契約定義。客戶端和服務需要在與數據合同協議。
-
Message Contract - 數據合同由約定信息控製。它主要是SOAP消息的參數類型格式的定製。在此,應該提到的是WCF采用SOAP格式進行通信。 SOAP代表簡單對象訪問協議。
-
Policy and Binding - 由策略和有約束力的約定被定義為一個服務,這樣的條件下通信的某些先決條件。客戶端需要遵循這一約定。
服務運行時
服務運行時層僅僅是約定層之下。它指定在運行時出現的各種服務行為。有許多類型的行為,可以進行配置,如下的服務運行。
-
Throttling Behavior - 管理處理的消息的數量
-
Error Behavior – 定義任何內部服務錯誤發生的結果
-
Metadata Behavior – 指定的元數據的可用性到外界
-
Instance Behavior – 定義要創建需要的實例的數量,以使它們可用於在客戶端
-
Transaction Behavior – 能夠在事務狀態的變化的情況下出現任何故障
-
Dispatch Behavior - 控製由該消息得到了WCF的基礎處理方式
-
Concurrency Behavior - 控製的客戶端 - 服務器通信過程中並行運行功能
-
Parameter Filtering - 功能參數的方法驗證的過程,在它被調用之前
消息
這層幾個通道構成主要涉及兩個端點之間傳送的消息的內容。一組通道的形成通道堆棧和構成的通道堆棧的下麵那些渠道的兩種主要類型。
-
Transport Channels - 這些通道都存在於棧底和負責發送和接收使用像HTTP,TCP,P2P,命名管道和MSMQ傳輸協議的消息。
-
Protocol Channels - 存在於堆棧的頂部,這些信道也被稱為層狀通道通過修改消息實現線級協議。
激活和托管
WCF的體係結構的最後一層是其中服務實際上是托管,或者可以以方便客戶端被執行的地方。這是通過在下麵簡要討論的各種機製進行。
-
IIS - 互聯網信息服務的縮寫提供使用HTTP協議通過服務優勢很多。這裡主機代碼的要求不是強製性的,用於激活該服務代碼,相反,服務碼被自動激活。
-
Windows激活服務 - 這就是俗稱WAS和帶有IIS7.0。 HTTP和非HTTP通信,可以在這裡通過使用TCP或Namedpipe協議。
-
Self-Hosting - 這是由一個WCF服務獲取自托管的控製台應用程序的機製。這種機製提供了驚人的靈活選擇所需的協議和設置自己的解決方案方麵。
-
Windows Service - 主持這一機製的WCF服務是有利的,因為該服務保持激活狀態,並接觸到客戶端,由於冇有運行時激活。