《WCF全面解析》(下册)- 目录
第1章 異常處理 (Exception Handling)??? 1
?? 1.1.??? WCF基本異常處理模式??? 3
?????? 1.1.1.??? 當(dāng)異常從服務(wù)端拋出(S101)??? 3
?????? 1.1.2.??? 異常細(xì)節(jié)的傳播(S102)??? 5
?????? 1.1.3.??? 自定義異常信息??? 8
?? 1.2.??? 錯(cuò)誤消息與FaultException異常??? 18
?????? 1.2.1.??? 從SOAP Fault說起??? 18
?????? 1.2.2.??? 唯一可被傳播的異常:FaultException??? 21
?????? 1.2.3.??? FaultException異常和錯(cuò)誤消息之間的轉(zhuǎn)換??? 24
?? 1.3.??? WCF異常處理體系剖析??? 32
?????? 1.3.1.??? FaultFormatter??? 32
?????? 1.3.2.??? ServiceDebugBehavior如何實(shí)現(xiàn)對(duì)異常細(xì)節(jié)傳播???? 36
?? 1.4.??? WCF異常處理擴(kuò)展??? 38
?????? 1.4.1.??? 錯(cuò)誤處理器(ErrorHandler)??? 38
?????? 1.4.2.??? 實(shí)例演示:通過WCF擴(kuò)展實(shí)現(xiàn)同EntLib的集成(S105)??? 39
第2章元數(shù)據(jù) (Metadata)??? 49
?? 2.1.??? WCF元數(shù)據(jù)架構(gòu)體系簡介??? 51
?????? 2.1.1.??? WS-MEX??? 51
?????? 2.1.2.??? MetadataSection與MetadataSet??? 67
?????? 2.1.3.??? WCF元數(shù)據(jù)架構(gòu)模型??? 70
?? 2.2.??? 元數(shù)據(jù)的導(dǎo)出??? 72
?????? 2.2.1.??? MetadataExporter和WsdlExporter??? 72
?????? 2.2.2.??? WSDL導(dǎo)出擴(kuò)展和策略導(dǎo)出擴(kuò)展??? 77
?? 2.3.??? 元數(shù)據(jù)的發(fā)布??? 79
?????? 2.3.1.??? 元數(shù)據(jù)發(fā)布的實(shí)現(xiàn)者:ServiceMetadataBehavior??? 79
?????? 2.3.2.??? MEX 終結(jié)點(diǎn)有何不同???? 82
?????? 2.3.3.??? ServiceMetadataBehavior是如何實(shí)現(xiàn)元數(shù)據(jù)發(fā)布的???? 84
?? 2.4.??? 元數(shù)據(jù)的獲取和導(dǎo)入??? 99
?????? 2.4.1.??? 自己動(dòng)手實(shí)現(xiàn)元數(shù)據(jù)的獲取??? 99
?????? 2.4.2.??? 通過MetadataExchangeClient獲取元數(shù)據(jù)(S206)??? 103
?????? 2.4.3.??? MetadaImporter與元數(shù)據(jù)導(dǎo)入??? 105
第3章 事務(wù) (Transaction)??? 111
?? 3.1.??? WCF需要怎樣的事務(wù)控制???? 113
?????? 3.1.1.??? 什么是事務(wù)(Transaction)???? 113
?????? 3.1.2.??? 事務(wù)的顯式控制??? 113
?????? 3.1.3.??? 分布式事務(wù)(Distributed Transaction)應(yīng)用場景??? 116
?? 3.2.??? Windows下的事務(wù)處理模型??? 119
?????? 3.2.1.??? 事務(wù)模型中的三種角色??? 119?
?????? 3.2.2.??? 分布式事務(wù)是如何實(shí)現(xiàn)的???? 121
?????? 3.2.3.??? System.Transactions事務(wù)??? 125
?? 3.3.??? 事務(wù)處理協(xié)議:OleTx和WS-AT??? 138
?????? 3.3.1.??? WS-Coordination??? 138
?????? 3.3.2.??? WS-AT??? 142
?? 3.4.??? WCF事務(wù)編程??? 144
?????? 3.4.1.??? 通過服務(wù)契約決定事務(wù)流轉(zhuǎn)的策略??? 144
?????? 3.4.2.??? 通過綁定實(shí)施事務(wù)的流轉(zhuǎn)??? 146
?????? 3.4.3.??? 通過服務(wù)(操作)行為控制事務(wù)??? 155
?????? 3.4.4.??? 實(shí)例演示:創(chuàng)建事務(wù)型服務(wù)(S301)??? 158
?? 3.5.??? WCF事務(wù)實(shí)現(xiàn)原理??? 168
?????? 3.5.1.??? TransactionFlowAttribute行為??? 168
?????? 3.5.2.??? 事務(wù)綁定??? 168
?????? 3.5.3.??? 事務(wù)的自動(dòng)登記(Enlistment)??? 174
?????? 3.5.4.??? OleTx提升(OleTx Upgrade)機(jī)制??? 175
第4章 并發(fā)與限流 (Concurrency and Throttling)??? 177
?? 4.1.??? 并發(fā)與實(shí)例上下文模式??? 179
?????? 4.1.1.??? 同一個(gè)服務(wù)實(shí)例上下文同時(shí)處理多個(gè)服務(wù)調(diào)用請(qǐng)求??? 179
?????? 4.1.2.??? 并發(fā)中的同步??? 182
?????? 4.1.3.??? 并發(fā)與實(shí)例上下文模式??? 184
?? 4.2.??? 同步上下文與線程親和性??? 201
?????? 4.2.1.??? 倘若去除ServiceBehaviorAttribute的UseSynchronizationContext屬性(S407)??? 201
?????? 4.2.2.??? 什么是同步上下文(SynchronizationContext)???? 203
?????? 4.2.3.??? WCF中的同步上下文與線程親和性??? 205
?? 4.3.??? 流量限制(Throttling)??? 210
?????? 4.3.1.??? 如何進(jìn)行限流控制???? 210
?????? 4.3.2.??? WCF限流控制是如何實(shí)現(xiàn)的???? 212
第5章 可靠會(huì)話 (Reliable Sessions)??? 217
?? 5.1.??? 可靠消息傳輸(Reliable Messaging)??? 219
?????? 5.1.1.??? 從TCP對(duì)報(bào)文段的可靠交付機(jī)制說起??? 219
?????? 5.1.2.??? WS-RM簡介??? 220
?? 5.2.??? 編寫可靠會(huì)話服務(wù)??? 229
?????? 5.2.1.??? 實(shí)例演示:通過WCF服務(wù)傳輸圖片(S501)??? 229
?????? 5.2.2.??? 可靠會(huì)話綁定??? 247
?? 5.3.??? 可靠會(huì)話的實(shí)現(xiàn)原理??? 256
?????? 5.3.1.??? 從信道層看可靠會(huì)話的實(shí)現(xiàn)??? 256
?????? 5.3.2.??? 從傳輸協(xié)議的局限性和消息交換模式看可靠會(huì)話的實(shí)現(xiàn)??? 266
?????? 5.3.3.??? 可靠會(huì)話最佳實(shí)踐??? 270
第6章 隊(duì)列服務(wù) (Queued Services)??? 273
?? 6.1.??? MSMQ簡介??? 275
?????? 6.1.1.??? MSMQ能解決什么問題???? 275
?????? 6.1.2.??? MSMQ的安裝??? 276
?????? 6.1.3.??? 消息隊(duì)列??? 278
?????? 6.1.4.??? MSMQ編程??? 280
?? 6.2.??? 從隊(duì)列服務(wù)的終結(jié)點(diǎn)談起??? 290
?????? 6.2.1.??? 地址??? 290
?????? 6.2.2.??? 綁定??? 291
?????? 6.2.3.??? 契約??? 293
?? 6.3.??? 事務(wù)控制??? 295
?????? 6.3.1.??? MSMQ事務(wù)模型??? 295
?????? 6.3.2.??? 客戶端事務(wù)??? 296
?????? 6.3.3.??? 服務(wù)端事務(wù)??? 297
?????? 6.3.4.??? 事務(wù)性批量接收??? 299
?? 6.4.??? 會(huì)話??? 304
?????? 6.4.1.??? 客戶端會(huì)話??? 304
?????? 6.4.2.??? 服務(wù)端會(huì)話??? 307
?? 6.5.??? 錯(cuò)誤處理??? 311
?????? 6.5.1.??? 接收重試(S605, S606)??? 311
?????? 6.5.2.??? 接收錯(cuò)誤處理??? 314
?????? 6.5.3.??? 死信消息處理??? 315
?????? 6.5.4.??? 日志(Journaling )與跟蹤(Tracing)??? 317
第7章 傳輸安全 (Transfer Security)??? 319
?? 7.1??? 傳輸安全簡介??? 321
?????? 7.1.1??? 分布式應(yīng)用中的傳輸安全隱患??? 321
?????? 7.1.2??? 非對(duì)加密(Asymmetric Cryptography)??? 322
?????? 7.1.3??? Transport與Message安全模式??? 326
?? 7.2??? 認(rèn)證(Authentication)??? 332
?????? 7.2.1??? 認(rèn)證與憑證(User Credential)??? 332
?????? 7.2.2??? 綁定、安全模式與客戶端憑證類型??? 337
?????? 7.2.3??? 服務(wù)認(rèn)證??? 348
?????? 7.2.4??? 客戶端認(rèn)證??? 362
?????? 7.2.5??? ServiceCredentials V.S. ClientCredentials??? 371
?? 7.3??? 消息保護(hù)(Message Protection)??? 375
?????? 7.3.1??? 消息的保護(hù)級(jí)別??? 375
?????? 7.3.2??? 簽名與加密的實(shí)現(xiàn)??? 382
?????? 7.3.3??? 安全會(huì)話(Secure Sessions)??? 387?
?第8章 授權(quán)與審核 (Authorization and Auditing)??? 393
?? 8.1.??? 身份(Identity)與安全主體(Principal)??? 395
?????? 8.1.1.??? 身份(Identity)??? 395
?????? 8.1.2.??? 安全主體(Principal)??? 399
?? 8.2.??? Windows用戶組授權(quán)??? 406
?????? 8.2.1.??? Windows用戶組授權(quán)與認(rèn)證的關(guān)系??? 406
?????? 8.2.2.??? Windows用戶組授權(quán)編程??? 406
?????? 8.2.3.??? 實(shí)例演示:基于Windows用戶組的聲明式授權(quán)(S801)??? 408
?????? 8.2.4.??? 身份模擬(Impersonation)??? 412
?? 8.3.??? ASP.NET Roles授權(quán)??? 420
?????? 8.4.1.??? ASP.NET Roles提供程序??? 420
?????? 8.4.2.??? ASP.NET Roles授權(quán)與認(rèn)證的無關(guān)性??? 421
?????? 8.4.3.??? ASP.NET Roles授權(quán) 編程??? 422
?????? 8.4.4.??? 實(shí)例演示:不同認(rèn)證方式下的ASP.ENT Roles授權(quán)??? 424
?????? 8.4.5.??? 實(shí)例演示:通過WCF擴(kuò)展實(shí)現(xiàn)授權(quán)(S805)??? 431
?? 8.4.??? 自定義授權(quán)方式??? 437
?????? 8.4.1.??? 通過自定義AuthorizationPolicy和ServiceAuthorizationManager創(chuàng)建安全主體??? 437
?????? 8.4.2.??? Claim和ClaimSet??? 440
?????? 8.4.3.??? 自定義授權(quán)實(shí)現(xiàn)原理剖析??? 441
?????? 8.4.4.??? 實(shí)例演示:通過自定義AuthorizationPolicy和ServiceAuthorizationManager實(shí)現(xiàn)授權(quán)(S806)??? 443
?? 8.5.??? 安全審核(Security Auditing)??? 451
?????? 8.5.1.??? ServiceSecurityAuditBehavior服務(wù)行為??? 451
?????? 8.5.2.??? 安全審核的實(shí)現(xiàn)??? 452
?????? 8.5.3.??? 實(shí)例演示:如何實(shí)施安全審核??? 453
第9章 擴(kuò)展 (Extensions)??? 461
?? 9.1.??? 服務(wù)端架構(gòu)體系的構(gòu)建??? 463
?????? 9.1.1.??? 再談服務(wù)描述(Service Description)談起??? 463
?????? 9.1.2.??? 終結(jié)點(diǎn)分發(fā)器選擇機(jī)制??? 466
?????? 9.1.3.??? 信道分發(fā)器(ChannelDispatcher)??? 467
?????? 9.1.4.??? 終結(jié)點(diǎn)分發(fā)器(EndpointDispatcher)??? 471
?????? 9.1.5.??? 分發(fā)運(yùn)行時(shí)(DispatchRuntime)??? 471
?????? 9.1.6.??? 分發(fā)操作(DispatchOperation)??? 477
?? 9.2.??? 客戶端架構(gòu)體系的構(gòu)建??? 483
?????? 9.2.1.??? 創(chuàng)建ChannelFactory<TChannel>??? 483
?????? 9.2.2.??? 客戶端運(yùn)行時(shí)(ClientRuntime)??? 485
?????? 9.2.3.??? 客戶端操作(ClientOperation)??? 487
?????? 9.2.4.??? 服務(wù)代理與服務(wù)調(diào)用??? 488
?? 9.3.??? 通過定義四種行為對(duì)WCF的擴(kuò)展??? 492
?????? 9.3.1.??? WCF四種類型的行為??? 492
?????? 9.3.2.??? 行為方法的執(zhí)行??? 493
?????? 9.3.3.??? 實(shí)例演示:通過擴(kuò)展確保語言文化一致性(S901)??? 494
?? 9.4.??? ServiceHost對(duì)WCF的擴(kuò)展??? 504
?????? 9.4.1.??? 自定義ServiceHost的本質(zhì):對(duì)服務(wù)描述進(jìn)行定制??? 504
?????? 9.4.2.??? 自定義ServiceHost的創(chuàng)建者:ServiceHostFactory??? 507
?????? 9.4.3.??? 實(shí)例演示:通過擴(kuò)展實(shí)現(xiàn)基于IoC的服務(wù)實(shí)例的創(chuàng)建(S903,S904)??? 508
第10章 WCF 4.0新特性 (New Features in WCF 4.0)??? 517
?? 10.1.??? 簡化開發(fā)體驗(yàn)??? 519
?????? 10.1.1.??? 默認(rèn)終結(jié)點(diǎn)??? 519
?????? 10.1.2.??? 默認(rèn)綁定配置??? 524
?????? 10.1.3.??? 默認(rèn)行為配置??? 525
?????? 10.1.4.??? 標(biāo)準(zhǔn)終結(jié)點(diǎn)??? 529
?????? 10.1.5.??? 無.svc文件服務(wù)激活??? 531?
?? 10.2.??? 路由服務(wù)(Routing Service)??? 534
?????? 10.3.1.??? 路由服務(wù)就是一個(gè)WCF服務(wù)??? 534
?????? 10.3.2.??? 基于消息內(nèi)容的路由策略??? 538
?????? 10.3.3.??? 實(shí)例演示:如果使用路由服務(wù)(S1001)??? 546
?????? 10.3.4.??? 其他路由特性??? 552?
?? 10.3.??? 服務(wù)發(fā)現(xiàn)(Service Discovery)??? 555
?????? 10.3.1.??? WS-Discovery??? 555
?????? 10.3.2.??? 可被發(fā)現(xiàn)的服務(wù)(Discoverable Service)??? 558
?????? 10.3.3.??? 目標(biāo)服務(wù)的探測和解析??? 566
?????? 10.3.4.??? 實(shí)例演示:如何利用服務(wù)發(fā)現(xiàn)機(jī)制實(shí)現(xiàn)服務(wù)的“動(dòng)態(tài)”調(diào)用?(S1002)??? 572
?????? 10.3.5.??? DynamicEndpoint(S1003)??? 576
?????? 10.3.6.??? 服務(wù)上/下線通知??? 579
?????? 10.3.7.??? 發(fā)現(xiàn)代理(Discovery Proxy)??? 588
總結(jié)
以上是生活随笔為你收集整理的《WCF全面解析》(下册)- 目录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 尊重用户,提升产品欢迎度
- 下一篇: 第3課 ここはデパートです