經過長時間學習WCF上網也總喜歡收集一些資料我認為WCF這門技術還是很值得我們去深入的研究探討的本人歸納了一點關於WCF協定概念上的總結希望可以對大家起到作用服務操作是在服務的代碼中定義的過程用於實現某種操作的功能 此操作作為一個 WCF 客戶端上的方法向客戶端公開 該方法可能返回一個值並可能采用數量可選的參數或是不采用任何參數且不返回任何響應例如一個實現簡單的Hello的操作可以用作客戶端存在通知並可以開始一系列操作
服務協定
服務協定將多個相關的操作聯系在一起組成單個功能單元 WCF協定可以定義服務級設置如服務的命名空間對應的回調協定以及其他此類設置在大多數情況下協定是通過用您所選的編程語言創建一個接口並將 ServiceContractAttribute 屬性應用於該接口來定義的通過實現該接口可生成實際的服務代碼
操作協定
操作WCF協定定義參數並返回操作的類型 在創建定義服務協定的接口時可以通過將 OperationContractAttribute 屬性應用於協定中包含的每個方法定義來表示一個操作協定可以將操作建模為采用單個消息作為參數並返回單個消息或者建模為采用一組類型作為參數並返回一個類型在後一種情況下系統將確定需要為該操作交換的消息的格式
消息協定
消息協定描述消息的格式 例如它會聲明消息元素應包含在消息頭中還是包含在消息正文中應該對消息的何種元素應用何種級別的安全等等
錯誤協定
可以將錯誤協定與服務操作進行關聯以指示可能返回到調用方的錯誤 一個操作可能具有零個或更多個與其相關聯的錯誤 這些錯誤是在編程模型中建模為異常的 SOAP 錯誤
數據協定
服務使用的數據類型必須在元數據中進行描述以使其他各方可以與該服務進行交互操作 數據類型的說明稱為數據協定而這些類型可以在消息的任何部分使用(例如作為參數或返回類型) 如果服務僅使用簡單類型則無需顯式使用數據協定
宿主
服務必須承載於某個進程中 宿主是控制服務的生存期的應用程序 服務可以是自承載的也可以由現有的宿主進程進行管理
自承載服務
自承載服務是在開發人員創建的進程應用程序中運行的服務 開發人員控制服務的生存期設置服務的屬性打開服務(這會將服務設置為偵聽模式)以及關閉服務
宿主進程
宿主進程是專為承載服務而設計的應用程序 這些宿主進程包括 Internet 信息服務 (IIS)Windows 激活服務 (WAS) 和 Windows 服務 在這些宿主方案中由宿主控制服務的生存期 例如使用 IIS 可以設置包含服務程序集和配置文件的虛擬目錄在收到消息時IIS 將啟動服務並控制服務的生存期
實例化
服務具有一個實例化模型 有三種實例化模型單個在這種模型中由單個 CLR 對象為所有客戶端提供服務每個調用在這種模型中將創建一個新的 CLR 對象來處理每個客戶端調用每個會話在這種模型中將創建一組 CLR 對象並且為每個獨立的會話使用一個對象 實例化模型的選擇取決於應用程序要求和服務的預期使用模式
From:http://tw.wingwit.com/Article/program/net/201311/13662.html