目錄
Table of Contents
序言 I
前言 III
第1章 WCF基礎 1
什麼是WCF 1
服務 2
服務的執行邊界 3
WCF與位置透明度 4
地址 4
TCP地址 5
HTTP地址 5
IPC地址 6
MSMQ地址 6
服務總綫地址 6
契約 6
服務契約 7
托管 11
IIS 5/6 托管 11
自托管 12
WAS WAS托管 17
IIS/WAS裏的自定義托管 18
Windows Server AppFabric 19
選擇宿主 20
綁定 21
常用綁定 22
選擇綁定 24
其他綁定 24
使用綁定 26
終結點 26
以管理方式配置終結點 27
以編程方式配置終結點 31
默認終結點 32
元數據交換 35
基於HTTP-GET的元數據 35
元數據交換終結點 38
元數據瀏覽器 44
行為配置的更多內容 46
客戶端編程 47
生成代理 48
以管理方式配置客戶端 52
以編程方式配置客戶端 57
WCF提供的測試客戶端 58
編程方式配置VS管理方式配置 60
WCF體係結構 61
宿主體係結構 62
使用通道 62
InProcFactory類 64
傳輸會話層 68
傳輸會話與綁定 68
傳輸會話終止 68
可靠性 69
綁定、可靠性和有序消息 70
配置可靠性 71
必備有序傳遞 72
第2章 服務契約 75
操作重載 75
契約繼承 77
客戶端契約層級 78
服務契約分解與設計 82
契約分解 82
分解準則 84
契約查詢 85
以編程方式處理元數據 86
MetadataHelper類 88
第3章 數據契約 93
序列化 93
.NET序列化 94
序列化的數據契約 98
數據契約特性 99
導入數據契約 102
數據契約與Serializable特性 104
推斷數據契約 105
組閤數據契約 107
數據契約事件 108
共享數據契約 110
數據契約層級 111
已知類型 112
服務已知類型 114
多個已知類型 115
配置已知類型 116
數據契約解析器 117
Objects與接口 127
數據契約等效性 129
序列化順序 130
版本控製 132
新增成員 133
缺失成員 133
版本控製往返 137
枚舉 139
委托與數據契約 141
泛型 142
集閤 145
具體集閤類型 146
自定義集閤 148
CollectionDataContract特性 148
引用集閤 150
字典集閤 150
第4章 實例管理 153
行為 153
單調服務 154
單調服務的優勢 155
配置單調服務 156
單調服務與傳輸會話 157
設計單調服務 157
選擇單調服務 160
會話服務 160
配置私有會話 160
會話與可靠性 165
會話ID 166
會話終止 167
單例服務 168
初始化單例服務 169
選擇單例服務 171
操作分界 172
實例停止 174
配置為ReleaseInstanceMode.None 176
配置為ReleaseInstanceMode.BeforeCall 176
配置為ReleaseInstanceMode.AfterCall 177
配置為ReleaseInstanceMode.BeforeAndAfterCall 177
顯式停止 178
使用實例停止 179
持久化服務 179
持久化服務與實例管理模式 180
實例ID與持久化存儲區 180
顯式實例ID 181
消息頭裏的實例ID 183
支持實例ID的上下文綁定 185
自動持久化行為 191
限流 196
配置限流 199
第5章 操作 205
請求/應答操作 205
單嚮操作 205
配置單嚮操作 206
單嚮操作與可靠性 207
單嚮操作與會話服務 207
單嚮操作和異常 208
迴調操作 209
迴調契約 210
客戶端迴調設置 211
服務端的迴調調用 214
迴調連接管理 217
雙嚮代理與類型安全 219
迴調契約層級 224
事件 225
流操作 229
I/O流 229
流操作與綁定 230
流操作與傳輸 231
第6章 錯誤 233
錯誤隔離和解耦 233
錯誤屏蔽 233
通道故障 234
錯誤傳播 238
錯誤契約 239
錯誤調式 243
錯誤與迴調 249
錯誤處理擴展 252
提供錯誤 252
處理錯誤 256
安裝錯誤處理擴展 258
宿主與錯誤擴展 261
迴調與錯誤擴展 264
第7章 事務 267
恢復的挑戰 267
事務 268
事務資源 268
事務屬性 269
事務管理 270
資源管理器 273
事務傳播 273
事務流與綁定 273
事務流與操作契約 274
單調 276
事務協議與管理器 277
協議與綁定 277
事務管理器 278
事務管理器提升 280
Transaction類 281
環境事務 282
本地事務VS分布式事務 282
服務事務編程 283
設置環境事務 284
事務傳播模式 285
投票與提交 292
事務隔離 295
事務超時 297
明確使用事務編程 298
TransactionScope類 299
事務流管理 300
非服務客戶端 307
服務狀態管理 308
事務邊界 309
實例管理與事務 309
單調事務服務 310
會話事務服務 313
事務持久化服務 326
事務行為 328
事務單例服務 333
實例模式與事務 336
迴調 337
迴調事務模式 338
迴調投票 340
使用事務型迴調 340
第8章 並發管理 343
實例管理與並發 343
服務並發模式 344
ConcurrencyMode.Single 344
同步訪問與事務 345
ConcurrencyMode.Multiple 345
ConcurrencyMode.Reentrant 348
實例與並發訪問 350
單調服務 350
會話與單例服務 351
資源與服務 352
訪問死鎖 352
避免死鎖 353
資源同步上下文 354
.NET同步上下文 354
UI同步上下文 357
服務同步上下文 362
托管在UI綫程上 363
作為服務 368
UI綫程與並發管理 371
自定義服務同步上下文 372
綫程池同步化器 373
綫程關聯性 377
優先級處理 380
迴調與客戶端安全 383
使用ConcurrencyMode.Single迴調 384
使用ConcurrencyMode.Multiple迴調 385
使用ConcurrencyMode.Reentrant迴調 385
迴調與同步上下文 385
迴調與UI同步上下文 386
迴調自定義上下文 389
異步調用 393
異步機製的需求 393
基於代理的異步調用 394
異步調用 395
輪詢或等待完成 398
完成迴調 400
單嚮異步調用 404
異步錯誤調用 408
異步調用與事務 408
同步和異步調用 409
第9章 隊列服務 411
無連接的服務與客戶端 411
隊列調用 412
隊列調用架構 412
隊列契約 413
配置與安裝 414
事務 420
傳遞與迴放 420
事務配置 422
非事務性隊列 425
實例管理 425
單調隊列服務 426
會話隊列服務 427
單例服務 431
並發管理 432
限流 432
傳送失敗 433
死信隊列 434
生存時間 434
配置死信隊列 435
處理死信隊列 436
迴放失敗 440
有害消息 441
MSMQ 4.0裏的有害消息處理 441
MSMQ 3.0裏的有害消息處理 446
隊列調用與連接調用 446
要求隊列化 447
應答服務 449
設計應答服務契約 450
客戶端編程 453
隊列服務端編程 455
應答服務端編程 457
事務 458
HTTP橋 461
設計橋 461
事務配置 462
服務端配置 463
客戶端配置 464
第10章 安全 467
驗證 467
授權 468
傳輸安全 468
傳輸安全模式 469
傳輸安全模式配置 470
Transport安全和憑據 473
Message安全和憑據 473
身份標識管理 474
整體策略 474
場景驅動方法 475
Intranet應用場景 476
安全Intranet綁定 476
約束消息保護 482
身份驗證 484
身份標識 486
安全調用上下文 487
模擬 489
授權 496
身份標識管理 501
迴調 502
Internet應用場景 503
安全Internet綁定 503
消息保護 505
驗證 509
使用Windows憑據 511
使用ASP.NET provider 512
標識管理 520
B2B應用場景 520
保護B2B綁定 521
驗證 521
授權 524
身份標識管理 525
宿主安全配置 525
匿名應用場景 526
確保匿名綁定的安全 526
驗證 527
授權 527
標識管理 527
迴調 528
無安全場景 528
無安全的綁定 528
驗證 528
授權 529
標識管理 529
迴調 529
場景總結 529
聲明式安全框架 530
SecurityBehaviorAttribute 530
宿主端的聲明式安全 538
客戶端的聲明式安全 539
安全審計 546
配置安全審計 547
聲明式安全審計 549
第11章 服務總綫 551
什麼是中繼服務 552
Windows Azure AppFabric服務總綫 552
服務總綫編程 553
中繼服務地址 553
服務總綫注冊 556
服務總綫瀏覽器 558
服務總綫綁定 558
TCP中繼綁定 559
WS 2007中繼綁定 563
單嚮中繼綁定 563
事件中繼綁定 564
使用雲作為攔截器 565
服務總綫緩存 566
緩存VS隊列 567
使用緩存 567
發送和檢索消息 573
緩存服務 574
應答服務 582
服務總綫驗證 586
配置驗證 587
共享安全驗證 588
無驗證 592
在服務總綫上的元數據 594
傳輸安全 596
Transport安全 597
Message安全 597
中繼綁定與傳輸安全 598
WS中繼綁定與傳輸安全 604
單嚮中繼綁定與傳輸安全 604
綁定與傳輸模式 605
簡化傳輸安全 605
附錄A 麵嚮服務概述 613
軟件工程簡史 613
麵嚮對象 614
麵嚮組件 615
麵嚮服務 617
麵嚮服務的優勢 618
麵嚮服務的應用程序 619
麵嚮對象的宗旨和原則 620
實踐原則 620
可選原則 621
下一步是什麼 622
麵嚮服務的平颱 623
附錄B 消息頭與上下文 625
消息頭 625
客戶端消息頭交互 626
服務端消息頭交互 628
封裝消息頭 628
簡化客戶端 631
上下文綁定 633
客戶端上下文綁定交互 634
服務端上下文綁定交互 635
簡化客戶端 636
簡化服務 639
創建自定義上下文綁定 640
附錄C 服務發現 647
地址發現 647
服務配置 648
客戶端步驟 652
域 654
簡化服務發現 656
發展中的服務發現 665
通告 667
聲明終結點 668
接收聲明 669
簡化聲明 670
服務總綫發現 674
解決方案架構 674
可發現的宿主 676
服務發現客戶端 681
聲明 686
元數據瀏覽器 693
附錄D 發布-訂閱服務 695
發布-訂閱設計模式 696
訂閱者類型 696
發布-訂閱框架 697
管理臨時訂閱 697
管理持久訂閱者 701
事件發布 704
管理持久訂閱者 708
單例訂閱者 710
隊列化發布者與訂閱者 711
使用服務總綫發布-訂閱 712
事件中繼綁定 712
使用服務發現實現發布-訂閱 719
DiscoveryPublishService<T>類 720
發布者 722
訂閱者 723
More on DiscoveryPublishService<T> 723
附錄E 通用攔截器 727
攔截服務操作 727
泛型調用者 728
安裝攔截器 729
攔截客戶端調用 732
跟蹤攔截器 734
標識堆棧傳播 738
保護調用堆棧攔截器 740
附錄F WCF編碼規範 743
通用設計規範 743
設計要點 744
服務契約 744
數據契約 745
實例管理 746
操作與調用 746
錯誤 747
事務 748
並發管理 750
隊列服務 750
安全 751
服務總綫 752
附錄G ServiceModelEx分類 753
索引 755
· · · · · · (
收起)