編輯推薦
“就像維吉爾(Virgil)引領但丁(Dante)穿過地獄湖那樣,Michele也將帶領你們遍覽WCF,由淺入深,漸入佳境,關注實用和真實的案例,避開神秘莫測的陷阱……當你完成的時候,你將成為WCF專業開發者群體中的一員,這些人能夠以自己喜歡的方式來使用WCF。”
——Ted Neward,http://www.tedneward.com
這本易學易用的書是為那些想要透徹掌握微軟Windows Communication Foundation(WCF)新框架以一
創建面向服務的應用程式的中高級開發者所編寫的。
本書包含l00多個代碼示例、20多個操作實例,以及針對開發者常見問題的詳細解答。通過這些,本書解決了這個新平台上的一切複雜問題。從基礎概念到複雜情形,該書無疑能加深你在如下各個重要方面的相關知識:
契約——學習設計服務契約、為複雜類型的串列化創建數據契約、使用其他可串列化類型,以及執行自定義串列化以處理契約優先和契約版本控制情形。
綁定——揭示每個區域網路或Internet應用程式的核心綁定的實際用途,並學會如何自定義那些特定情形的綁定配置,例如大型訊息和訊息流的處理。
暫存——了解多種暫存環境的合適用途和相應的好處,包括Windows應用程式、Windows服務、IIS及Windows激活服務。
實例化和並發——將服務配置成單例運行,以提供套用會話支持或作為可擴展的無會話服務,並且學習如何管理吞吐量和節流請求。
可靠性——套用諸如可靠會話、分散式事務和佇列訊息等功能。
安全性——了解WCF如何支持雙向認證和訊息保護的基本安全需求,學習如何管理運行時標識符,並探索多種授權模式等。
異常和故障——學習錯誤處理相關概念,包括調試技巧、異常管理及故障契約。
如果你想要迅速掌握這項新技術,你所需要的就是本書。
內容簡介
本書對微軟WCF技術的各個細節均進行了詳細的闡述,書中採用了大量的敘述和操作實例,帶領讀者由淺入深,對以下各方面都做了非常詳細的介紹:設計契約、創建數據契約、定義綁定配置、選擇合適的暫存環境、實例化服務、處理並發情況、保證服務的可靠性、使用授權和認證機制保證服務的安全性,以及如何有效處理異常和故障,等等。
本書適合於創建面向服務應用程式的中高級開發者,通過完成書中的操作實例,就能夠對WCF的各個方面有更深入的理解。
目錄
序
第1章:Hello Indigo
面向服務的架構
WCF服務
WCF基本概念
從零開始創建服務
生成服務和客戶代理
在IIS中暫存服務
公開多個服務端點
小結
第2章:契約
通信協定
服務描述
WCF契約和串列化
服務契約
數據契約
訊息契約
串列化的方法
訊息類型
小結
第3章:綁定
綁定是如何工作的
Web服務綁定
面向聯接的綁定
單項和雙向通信
大型訊息傳送
定製綁定
小結
第4章:暫存
暫存特性
ServiceHost
自我暫存
暫存在UI執行緒中
在Windows服務中暫存
在IIS 6.0中暫存
IIS 7.0和Windows Activation Service
選擇正確的暫存環境
小結
第5章:實例化與並發
0perationContext
實例化
並發
實例化分流
負載平衡及故障轉移
小結
第6章:可靠性
可靠會話
事務
排隊調用
小結
第7章:安全
WCF安全概覽
保護Intranet服務的安全
保護Internet服務的安全
使用證書
建立一個基於請求的安全模型
探索聯邦安全
小結
第8章:異常和故障
SOAP故障
WCF異常處理
異常和調試
故障契約
IErrorHandler
小結
附錄A:設定指南
附錄8:當ASP.NET遇到CardSpace
索引
索引中文版
書摘插圖
第2章 契約
在第1章,我們介紹了一些WCF的基本概念,包括如何創建和使用一個服務,如何暫存一個服務及公開端點方便客戶訪問,如何支持元數據交換以利於客戶產生服務契約,以及如何運用客戶代理去調用服務操作等。在第1章,我們還學習了服務元數據的重要性,知道了通過WSDL文檔與客戶共享元數據。服務元數據包括了客戶調用服務操作的所有必備信息,即:
訊息傳送的地址。
服務所支持的協定,包括傳輸協定、訊息編碼格式和其他通信協定。
服務操作列表,以及待傳送的操作所需信息或者操作所返回的信息。
而服務契約就是這個元數據的核心——定義了一個操作、參數和返回值的集合。每一個服務契約代表了通過端點公開的一組邏輯上相關的操作。端點描述了訪問這些操作的訊息將被送達的地址和處理這些訊息的其他必要的協定。服務有可能會擁有一個或多個服務契約,因而會擁有不同的幾組邏輯操作,不過,所有這些最終還是包含於一個WSDL文檔之中。
正如第1章中所討論的那樣,客戶端和服務能過交換訊息來現通信。這些訊息在途中被串列化,到達各自的目的以後,會被反串列化為CLR類型。在最簡單的情形下,客戶和服務開發者只使用對象,而所有的串列化處理都在下面的銜接管道(plumbing)中完成。WCF提供了這種銜接管道。WSDL描述了訪問服務所需的協定,客戶利用代理與服務通信,而訊息僅僅產生(卻並未使用)。
……