作品目錄第1章WCF簡介(WCF Overview)1.1 SOA的基本概念和設計思想1.2 WCF是對現有Windows平台下分散式通信技術的整合1.3 構建一個簡單的WCF套用 1.3.1 步驟一 構建整個解決方案 1.3.2 步驟二 創建服務契約 1.3.3 步驟三 創建服務 1.3.4 步驟四 通過自我寄宿的方式寄宿服務 1.3.5 步驟五 創建客戶端調用服務 1.3.6 步驟六 通過IIS寄宿服務第2章終結點地址與WCF定址(Endpoint Address and WCF Addressing)2.1 EndpointAddreSS 2.1.1 URI 2.1.2 如何指定地址 2.1.3 如何指定AddressHeader2.2 連線埠共享(Port Sharing) 2.2.1 連線埠共享在WCF中的意義何在? 2.2.2 基於HTTPIHTTPS的連線埠共享 2.2.3 基於TCP的連線埠共享2.3 WCF定址(Addressing)詳解 2.3.1 服務的角色 2.3.2 邏輯地址和物理地址 2.3.3 ListenUri和ListenUriMode 2.3.4 訊息篩選 2.3.5 案例演示:通過tcpTracer進行訊息的路由第3章綁定與信道棧(Binding and Channel Stack)3.1 綁定簡介 3.1.1 信道(Channel)與信道棧(Channel Stack) 3.1.2 綁定與信道棧(Binding and Channel Stack) 3.1.3 案例演示:如何直接通過綁定進行訊息通信 3.1.4 WCF的綁定模型3.2 綁定編程 3.2.1 服務寄宿對綁定的指定 3.2.2 服務調用對綁定的指定3.3 信道與信道棧 3.3.1 CommunicationObject與DefaultCommunicationTimeouts 3.3.2 IChannel和ChannelBase 3.3.3 訊息交換模式與信道形狀(Channel Shape) 3.3.4 案例演示:如何自定義信道3.4 信道管理器(Channel Manager) 3.4.1 信道監聽器(Channel Listener) 3.4.2 信道工廠(Channel Factory)3.5 綁定與綁定元素(Binding and Binding Element) 3.5.1 綁定元素(Binding Element) 3.5.2 綁定揭秘3.6 系統綁定與自定義綁定(System Defined Binding&Custom Binding) 3.6.1 系統綁定 3.6.2 自定義綁定第4章服務契約(Service Contract)4.1 服務契約透視 4.1.1 抽象、接口與服務契約 4.1.2 元數據與服務契約 4.1.3 WSDL、XSD與服務契約 4.1.4 訊息交換與服務契約 4.1.5 WCF是CLR類型與廠商無關服務描述的適配器4.2 服務契約編程接口 4.2.1 ServiceContractAttribute與OperationContractAttribute 4.2.2 為終結點指定契約 4.2.3 服務契約的繼承 4.2.4 操作重載與操作選擇4.3 訊息交換模式(MEP)與服務操作 4.3.1 請求一回復模式下的服務契約與操作 4.3.2 單向(One—way)模式下的服務契約與操作 4.3.3 雙工模式下的服務契約與操作4.4 多執行緒與異步操作 4.4.1 異步信道調用 4.4.2 異步服務實現第5章序列化與數據契約(Serialization and Data Contract)5.1 漫談序列化 5.1.1 封送(Marshaling)與序列化 5.1.2 持久化(Persisting)與序列化 5.1.3 數據結構與序列化 5.1.4 XML序列化器5.2 數據契約與數據契約序列化器 5.2.1 數據契約的本質 5.2.2 數據契約的定義與數據契約序列化器5.3 已知類型(Known Type) 5.3.1 未知類型導致序列化失敗 5.3.2 DataContractSerializer的已知類型集合 5.3.3 基於接口的序列化 5.3.4 KnownTypeAttribute與ServiceKnownTypeAttribute5.4 泛型數據契約與集合數據契約 5.4.1 泛型數據契約 5.4.2 數據契約對數組與集合的支持 5.4.3 IDictionary與Hashtable5.5 等效數據契約與數據契約版本控制 5.5.1 數據契約的等效性 5.5.2 數據成員的添加與刪除 5.5.3 數據契約代理(Surrogate)5.6 序列化WCF框架中的實現 5.6.1 MessageFormatter 5.6.2 MessageFormatter在WCF框架中的套用第6章訊息、訊息契約與訊息編碼 (Message,Message Contract and Message Encoding)6.1 SOAP與WS—Addressing 6.1.1 SOAP(基於SOAP 1.2標準) 6.1.2 WS—Addressing(基於WS—Addressin9 1.0)6.2 訊息(Message) 6.2.1 訊息版本(Message Version) 6.2.2 如何創建訊息 6.2.3 訊息的基本操作和訊息狀態 6.2.4 訊息報頭集合6.3 訊息契約(Message Contract) 6.3.1 訊息契約的定義 6.3.2 案例演示:基於訊息契約的方法調用是如何格式化成訊息的?6.4 訊息編碼(Message Encoding) 6.4.1 序列化(反序列化)和編碼(解碼) 6.4.2 XmlDictionary、XmlDictionary Writer和XmlDictionaryReader6.5 訊息編碼在WCFf框架中的實現 6.5.1 訊息編碼器(MessageEncoder) 6.5.2 案例演示:通過MessageCoder對訊息進行編碼 6.5.3 WCF體系下的編碼機制實現第7章服務寄宿(Service Hosting)7.1 服務描述(Service Description) 7.1.1 ServiceDescription與ServiceBehavior 7.1.2 ServiceEndpoint與EndpointBehavior 7.1.3 ContractDescription和ContractBehavior 7.1.4 OperationDescription和OperationBehavior7.2 服務寄宿詳解 7.2.1 創建ServiceHost 7.2.2 開啟ServiceHost7.3 WCF服務的自我寄宿(Self-Hosting) 7.3.1 案例演示:如何通過Windows套用進行服務寄宿 7.3.2 自定義ServiceHost7.4 通過IIS進行服務寄宿 7.4.1 案例演示:如何通過IIS進行服務寄宿 7.4.2 IIS管道與ASP.NET架構 7.4.3 IIS服務寄宿實現詳解 7.4.4 案例演示:利用ASRNET兼容模式創建支持會話(Session)的WCF服務7.5 通過Windows Service進行服務寄宿 7.5.1 案例演示:如何通過創建Windows Service寄宿WCF服務第8章 客戶端(Client)8.1 WCF客戶端框架簡述 8.1.1 從透明代理(Transparent Proxy)和真實代理(Real Proxy)說起 8.1.2 通過自定義RealProxy實現方法調用的劫持(Interception) 8.1.3 案例演示:通過自定義RealProxy實現日誌功能 8.1.4 WCF客戶端是如何進行服務調用的 8.1.5 案例演示:創建一個託管套用模擬最簡單的WCF框架8.2 ChannelFactory<T>和DuplexChannelFactory<T>詳解 8.2.1 創建ChannelFactory<T>和DuplexChannelFactory<T> 8.2.2 開啟ChannelFactory<T>和DuplexChannelFactory<T> 8.2.3 創建服務代理 8.2.4 通過服務代理進行服務調用8.3 ClientBase<T>揭秘 8.3.1 ClientBase<TChannel>簡介 8.3.2 ChannelFactorv<T>的快取機制8.4 基於會話信道的客戶端 8.4.1 服務契約的關閉與並發會話的限制 8.4.2 會話信道與異常處理 8.4.3 案例演示:通過AOP的方式解決會話信道的關閉與中斷 8.4.4 額外的思考:性能與並發的權衡第9章實例管理與會話(Instancing and Session)9.1 實例上下文(InstanceContext)與實例上下文模式(InstanceContextMode) 9.1.1 實例上下文(Instance Context) 9.1.2 實例上下文模式(InstanceContext Mode) 9.1.3 實例服務行為9.2 單調(Per-Call)實例上下文模式 9.2.1 單調模式下的服務實例上下文提供機制 9.2.2 案例演示:單調模式下服務實例的生命周期 9.2.3 服務實例上下文的釋放 9.2.4 單調模式與可擴展性9.3 單例(Single)實例上下文模式 9.3.1 案例演示:演示服務實例的單一性 9.3.2 單例模式下服務實例上下文提供機制 9.3.3 單例服務與可擴展性9.4 會話(Session)與會話(Per-Session)實例上下文模式 9.4.1 WCF會話簡介 9.4.2 WCF會話編程模型 9.4.3 會話(Per-Session)實例上下文模式9.5 會話模式、綁定與實例上下文模式 9.5.1 單調服務決定於單調實例上下文模式 9.5.2 單例服務決定於單例實例上下文模式 9.5.3 會話服務決定於會話信道(棧)和會話實例上下文模式9.6 WCF服務實例上下文提供機制 9.6.1 服務實例上下文的提供者(InstanceContextProvider) 9.6.2 服務實例的提供者(InstanceProvider) 9.6.3 服務實例的釋放第10章WCF實例研究(WCF in Practice)10.1 實例套用功能與結構概述 10.1.1 PetShop功能簡介 10.1.2 PetShop的物理結構 10.1.3 PetShop的模組劃分 10.1.4 PetShop模組的層次劃分10.2 PetShop設計原理 10.2.1 如何實現用戶驗證 10.2.2 上下文的共享及跨域傳遞 10.2.3 異常處理 10.2.4 依賴注入在PetShop中的套用 10.2.5 AOP在PetShop中的套用 10.2.6 MVP模式在PetShop中的套用參考文獻索引