WCF架構


WCF是一個分層架構,為開發各種分散式應用的充分支援。該體系結構在下面將詳細說明。

WCF Architecture

約定

約定層旁邊就是應用層,並含有類似於現實世界的約定,指定服務和什麼樣的資訊可以存取它會使操作的資訊。約定基本都是在簡短的討論如下四種型別。

  • 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服務是有利的,因為該服務保持啟用狀態,並接觸到用戶端,由於沒有執行時啟用。