WCF 服務編程, 4/e WCF 服务编程(第四版)

Juval Lowy, Michael Montgomery

買這商品的人也買了...

商品描述

本書介紹了基於WCF開發面向服務應用程序的主題和技能;闡述瞭如何使用其內置的特性,如服務托管、實例管理、並發管理、事物、無連接隊列調用、安全和Windows Azure AppFabric 服務總線;介紹了.NET 4.6 和Service Fabric知識。此外,本書還包含許多有用的代碼、工具和幫助類,收集在名為ServiceModelEx里。它們可以用來提高代碼生成率和WCF服務的質量。本書不僅介紹了WCF編程和相關系統的知識,還介紹了相關的設計原則、提示、zui佳實踐和誤區,重點關註WCF的實際應用。
本書是一本關於現代軟件工程的圖書,不僅會讓你成為一個WCF專家,更會讓你成為一名出色的軟件工程師。

作者簡介

作者:(美)居瓦·洛瑞作者:麥克·芒宮美瑞譯者:徐雷譯者:徐揚
Juval Lowy是IDesign的創始人,也是專注於系統與項目設計的軟件架構師,培養了全球各地數百位架構師。j uv aI是微軟矽谷的區域總監,參與過微軟內部C#,WCF等相關技術的設計評審工作。微軟授予其“軟件傳奇”稱號。他是世界頂級的專家之一和行業領導者。Michael Montgomery是IDesign的軟件架構師。專注於分佈式系統設計與微服務架構開發技術。Monty發表了許多軟件架構領域的文章,分享自己獨特的觀點。他還經常在各種.NET技術大會上演講。

目錄大綱

第1章WCF基礎1 
什麼是WCF 1 
服務2 
服務的執行邊界3 
WCF與位置透明度4 
地址4 
TCP地址5 
HTTP地址6 
IPC地址6 
MSMQ地址6 
WebSocket地址7 
UDP地址7 
契約7 
服務契約8 
託管11 
IIS託管12 
自託管13 
WAS託管18 
在IIS/WAS裡自定義託管18 
選擇宿主19 
綁定20 
常用綁定21 
選擇綁定22 
其他綁定23 
使用綁定25 
終結點25 
以管理方式配置終結點26 
以編程方式配置終結點30 
默認終結點31 
Configure()方法34 
元數據交換36 
基於HTTP-GET的元數據37 
元數據交換終結點40 
元數據瀏覽器46 
行為配置的更多內容48 
客戶端編程49 
生成代理50
以管理方式配置客戶端54 
以編程方式配置客戶端59 
WCF提供的測試客戶端60 
編程方式配置VS管理方式配置62 
配置策略63 
WCF體系結構63 
宿主體系結構64 
使用通道65 
InProcFactory類67 
傳輸會話層70 
傳輸會話與綁定71 
傳輸會話終止71 
可靠性72 
綁定、可靠性和有序消息73 
配置可靠性73 
必備有序傳遞75 

第2章服務契約77 
操作重載77 
契約繼承79 
客戶端契約層級80 
服務契約分解與設計84 
契約分解84 
分解準則86 
契約查詢88 
以編程方式處理元數據88 

第3章數據契約95 
序列化95 
.NET序列化96 
序列化的數據契約100 
數據契約特性101 
導入數據契約104 
數據契約與Serializable特性106 
推斷數據契約107 
組合數據契約109 
數據契約事件110 
共享數據契約112
數據契約層級113 
已知類型114 
服務已知類型116 
多個已知類型117 
配置已知類型118 
數據契約解析器119 
Objects與接口129 
數據契約等效性131 
序列化順序132 
版本控制134 
新增成員135 
缺失成員135 
版本控制往返139 
數據契約分解與設計141 
數據契約設計142 
數據契約分解142 
操作分解151 
數據傳輸對象(DTO)模式153 
務實的模式使用154 
枚舉154 
委託與數據契約156 
泛型157 
集合160 
具體集合類型161 
自定義集合163 
CollectionDataContract特性163 
引用集合165 
字典集合165
 
第4章實例管理169 
行為169 
單調服務170 
單調服務的優勢171 
配置單調服務172 
單調服務與傳輸會話173 
設計單調服務173 
選擇單調服務176 
會話服務176
配置私有會話176 
會話與可靠性181 
會話ID 182 
會話終止183 
單例服務184 
初始化單例服務185 
選擇單例服務188 
操作分界188 
實例停止190 
配置為ReleaseInstanceMode.None 192 
配置為ReleaseInstanceMode.BeforeCall 193 
配置為ReleaseInstanceMode .AfterCall 193 
配置為ReleaseInstanceMode.BeforeAndAfterCall 193 
顯式停止194 
使用實例停止195 
持久化服務195 
持久化服務與實例管理模式196 
實例ID與持久化存儲區196 
顯式實例ID 197 
消息頭里的實例ID 199 
支持實例ID的上下文綁定202 
自動持久化行為207 
限流213 
配置限流215 

第5章操作221 
請求/應答操作221 
單向操作221 
配置單向操作222 
單向操作與可靠性223 
單向操作與會話服務223 
單向操作和異常224 
回調操作225
回調契約226 
客戶端回調設置227 
服務端的回調調用230 
回調連接管理233 
雙向代理與類型安全235 
回調契約層級240 
事件241 
流操作245 
I/O流245 
流操作與綁定246 
流操作與傳輸247 

第6章錯誤249 
錯誤隔離和解耦249 
錯誤屏蔽249 
通道故障250 
錯誤傳播254 
錯誤契約256 
錯誤調試259 
錯誤與回調265 
錯誤處理擴展268 
提供錯誤269 
處理錯誤272 
安裝錯誤處理擴展274 
宿主與錯誤擴展277 
回調與錯誤擴展280 

第7章事務283 
恢復的挑戰283 
事務284 
事務資源284 
事務屬性285 
事務管理286 
資源管理器289 
事務傳播289 
事務流與綁定289 
事務流與操作契約290 
單調292 
事務協議與管理器293 
協議與綁定293
事務管理器294 
事務管理器提升296 
Transaction類297 
環境事務298 
本地事務VS分佈式事務298 
服務事務編程299 
設置環境事務299 
事務傳播模式301 
投票與提交308 
事務隔離311 
事務超時313 
明確使用事務編程314 
TransactionScope類314 
事務流管理316 
非服務客戶端323 
服務狀態管理324 
事務邊界325 
實例管理與事務325 
單調事務服務326 
會話事務服務329 
事務持久化服務342 
事務行為344 
事務單例服務349 
實例模式與事務352 
回調353 
回調事務模式354 
回調投票356 
使用事務型回調356 

第8章並發管理359 
實例管理與並發359 
服務並發模式360 
ConcurrencyMode.Single 360 
ConcurrencyMode.Multiple 361 
ConcurrencyMode.Reentrant 364
實例與並發訪問366 
單調服務366 
會話與單例服務367 
資源與服務368 
訪問死鎖368 
避免死鎖369 
資源同步上下文370 
.NET同步上下文370 
UI同步上下文373 
服務同步上下文378 
託管在UI線程上379 
作為服務384 
UI線程與並發管理387 
自定義服務同步上下文389 
線程池同步化器389 
替換I/O完成線程池394 
線程關聯性395 
優先級處理397 
回調與客戶端安全400 
使用ConcurrencyMode.Single回調401 
使用ConcurrencyMode .Multiple回調402 
使用ConcurrencyMode.Reentrant回調402 
回調與同步上下文403 
回調與UI同步上下文403 
回調自定義上下文406 
異步調用410 
異步機制的需求410 
基於代理的異步調用411 
異步調用413 
輪詢或等待完成415 
延續417 
延續與線程安全420 
延續同步上下文421
單向異步調用427 
異步錯誤處理430 
異步調用與事務433 
同步與異步調用433 
異步服務操作434 

第9章隊列服務455 
無連接的服務與客戶端455 
隊列調用456 
隊列調用架構456 
隊列契約457 
配置與安裝458 
事務464 
傳遞與回放464 
事務配置466 
非事務性隊列469 
實例管理469 
單調隊列服務470 
會話隊列服務471 
單例服務475 
並發管理476 
限流476 
傳送失敗477 
死信隊列478 
生存時間478 
配置死信隊列479 
處理死信隊列480 
回放失敗484 
有害消息485 
裡的有害消息處理486 
隊列調用與連接調用490 
要求隊列化491 
應答服務492 
設計應答服務契約493 
客戶端編程496 
隊列服務端編程499 
應答服務端編程501 
事務502 
HTTP橋505
設計橋505 
事務配置506 
服務端配置506 
客戶端配置508 

第10章安全511 
驗證511 
授權512 
傳輸安全512 
傳輸安全模式513 
傳輸安全模式配置514 
Transport安全和憑據517 
Message安全和憑據517 
身份標識管理518 
整體策略518 
場景驅動方法519 
Intranet應用場景520 
保護Intranet綁定520 
約束消息保護526 
身份驗證528 
身份標識530 
安全調用上下文531 
模擬533 
授權540 
身份標識管理545 
回調546 
Internet應用場景547 
安全Internet綁定547 
消息保護549 
驗證553 
使用Windows憑據555 
使用ASP.NET provider 556 
標識管理564 
B2B應用場景565 
保護B2B綁定565 
驗證566 
授權568
身份標識管理569 
宿主安全配置570 
匿名應用場景570 
確保匿名綁定的安全571 
驗證571 
授權571 
標識管理571 
回調572 
無安全場景572 
無安全的綁定572 
驗證573 
授權573 
標識管理573 
回調573 
場景總結574 
聲明式安全框架574 
SecurityBehaviorAttribute 575 
宿主端的聲明式安全582 
客戶端的聲明式安全583 
安全審計590 
配置安全審計591 
聲明式安全審計593 
第11章Azure Service Fabric微服務平台595 
為什麼需要Azure Service Fabric 595 
集成平台596 
設計一致性596 
編程模型一致性596 
未來兼容596 
為Service Fabric作準備598 
ServiceModelEx.ServiceFabric 598 
配置Service Fabric 599 
IT運維599 
部署600 
兩者兼備601
編寫Service Fabric 606 
服務編程模型606 
可靠服務607 
可靠角色614 
狀態管理617 
託管623 
客戶端編程模型624 
建模Service Fabric 633 
建模方法633 
建模可靠服務635 
建模可靠角色637 
建模託管宿主645 
測試646 
附錄A面向服務概述653 
附錄B消息頭與上下文665 
附錄C服務發現687 
附錄D發布-訂閱服務741 
附錄E通用攔截器765 
附錄F WCF編碼規範781 
附錄G ServiceModelEx分類