編輯推薦
*來自微軟WCF開發團隊的權威之作;
*從這裡,開始.NET企業級開發之旅;
*實戰性極強的80多個經典示例。
“WCF開發團隊中的每一位項目經理和開發人員都有這本書——我們幾乎所有人都把這本書作為開發或Web服務的必備參考書。你一定會像我們一樣,發現這是一本令人愉快、有啟發性而且很有用的書。”
——Alex Weinert,微軟公司WCF開發團隊項目經理
“要學習WCF,你只要這本書和WCF SDK!它幾乎講解了對於WCF開發者來說最重要的所有主題,而且非常易於理解。強烈推薦!”
WCF是微軟為構建基於Web服務、SOA架構和分散式應用程式所提供的全新統一編程模型,具有強大的互操作性、可擴展性和可管理性,是微軟分散式計算的集大成之作,大大簡化了.NET平台企業級套用開發。
本書由4位微軟WCF開發團隊的技術專家撰寫,是公認的權威著作,通過大量套用場景,深入地講解了WCF開發者必須學習的所有知識。書中提供了大量步驟詳盡的示例,讀者可以從無到有重現解決方案,直接運用到實際項目中去。書中萃取了大量最佳實踐和寶貴建議,是整個WCF開發團隊集體智慧的結晶,彌足珍貴。
作者簡介
本書的四位作者都是微軟公司WCF開發團隊成員,負責向社區傳播並幫助客戶成功實踐最新的WCF技術。他們能夠在第一時間獲得第一手資料,自然對這項技術有著其他人不具備的深入理解。更重要的是,他們花了大量時間來幫助企業和軟體提供商使用WCF,在應對各種難題時都遊刃有餘。更值得慶幸的是,作者將這些寶貴的經驗都融入到了本書中。
目錄
第一部分 WCF簡介
第1章 預備知識 2
1.1 簡介 2
1.2分部類型 2
1.3 泛型 3
1.4 可空值類型 5
1.5 輕量級事務管理器 6
1.6 角色提供程式 8
1.7 小結 9
1.8 參考文獻 10
第2章 基礎知識 11
2.1 背景知識 11
2.2 服務模型 16
2.2.1 軟體資源 19
2.2.2 創建一個訪問資源的服務 21
2.3 小結 51
2.4 參考文獻 51
第3章 數據表示 52
3.1 背景知識 52
3.2 XmlSerializer和DataContractSerializer 53
3.3 XML物神 57
3.3.1 創建服務 58
3.3.2 創建客戶端 59
3.4 使用DataContractSerializer 60
3.5 異常處理 72
3.6 小結 76
3.7 參考文獻 76
第4章 會話、可信賴會話、佇列與事務 77
4.1 簡介 77
4.2 可信賴會話 77
4.3 會話管理 80
4.4 佇列交付 81
4.5 事務 84
4.6 小結 91
第二部分 WF介紹
第5章 WF簡介 94
5.1 簡介 94
5.1.1 WF是什麼 94
5.1.2 WF不是什麼 94
5.2 活動 95
5.2.1 開箱即用活動 96
5.2.2 創建定製服務 97
5.2.3 活動通信 102
5.2.4 設計行為 107
5.2.5 事務和補償 108
5.3 工作流模型 110
5.3.1 順序工作流 110
5.3.2 狀態機工作流 116
5.3.3 定製根活動 117
5.4 工作流承載 117
5.4.1 承載運行時 118
5.4.2 運行時服務 119
5.4.3 定製服務 126
5.5規則引擎128
5.5.1 作為條件的規則 128
5.5.2 ConditionedActivityGroup活動 130
5.5.3 作為策略的規則 131
5.6 小結 133
5.7 參考文獻 133
第6章 使用WCF和WF 134
6.1 簡介 134
6.2 消費服務 134
6.2.1 簡單情形 134
6.2.2 一般情形 135
6.3 組合多個服務 138
6.4 將工作流暴露為服務 139
6.4.1 作為Web服務發布 139
6.4.2 在WCF服務中承載 141
6.5 展望 145
6.6 參考文獻 149
第三部分 安全
第7章 安全基礎 152
7.1 簡介 152
7.2 確保通信安全的基本任務 152
7.3 傳輸安全和訊息安全 153
7.4 使用傳輸安全 153
7.4.1 安裝證書 153
7.4.2 指定伺服器即將提供的證書 155
7.5 使用訊息安全 161
7.6 身份模擬與授權 166
7.6.1 身份模擬 166
7.6.2 授權 169
7.7 取消對Windows的更改 175
7.7.1 卸載證書 175
7.7.2 從IIS中刪除SSL配置 176
7.7.3 從http.sys中刪除SSL配置 176
7.7.4 恢復伺服器的標識 177
7.8 小結 177
7.9 參考文獻 177
第8章 WCS、信息卡和標識元系統 178
8.1 簡介 178
8.2 標識的角色 178
8.3 Microsoft Passport和其他標識驗證方法 180
8.4 標識規則 181
8.5 標識元系統 182
8.6 信息卡和CardSpace 186
8.7 管理信息卡 188
8.8 架構、協定和安全 192
8.9 CardSpace與企業 202
8.10 小結 205
8.11 參考文獻 205
第9章 使用信息卡保護應用程式的安全 207
9.1 簡介 207
9.2 標識元系統開發 207
9.3 CardSpace的簡單示例 209
9.4 CardSpace示例的準備工作 209
9.4.1 開啟IIS和asp.net 2.0210
9.4.2 獲取X.509證書210
9.4.3 將證書導入證書存儲區 210
9.4.4 更新Hosts檔案使DNS項與
證書匹配 211
9.4.5 IIS設定 211
9.4.6 讀取證書私鑰 211
9.4.7 HTTP配置 212
9.5 為WCF應用程式添加信息卡 213
9.6 添加信息卡 216
9.7 使用Federation綁定 220
9.8 捕獲異常 221
9.9 處理髮布的令牌 222
9.10 使用Metadata Resolver 224
9.11 為瀏覽器應用程式添加信息卡 225
9.12 創建託管卡 234
9.13 創建簡單的安全令牌服務 237
9.14 小結 239
9.15 參考文獻 239
第10章 高級安全 240
10.1 序幕 240
10.2 簡介 241
10.3 利用聲明保證資源安全 241
10.3.1 基於聲明授權和基於角色
授權 241
10.3.2 基於聲明授權和訪問控制
列表 242
10.3.3 採用基於聲明授權 243
10.4 使用XSI運用基於聲明的安全 244
10.4.1 利用Windows標識授權對
區域網路資源的訪問 244
10.4.2 改進初始方案 249
10.4.3 添加STS作為聯合的基礎 255
10.4.4 重新配置Resource Access
服務 265
10.4.5 重新配置客戶端 269
10.4.6 體驗帶有XSI的、聯合的、
基於聲明的標識的強大 271
10.5 基於聲明的安全和聯合安全 271
10.6 小結 272
10.7 參考文獻 273
第四部分 集成與互操作
第11章 遺留集成 276
11.1 簡介 276
11.2 COM+集成 276
11.2.1 支持的接口 277
11.2.2 選擇承載模式 277
11.3 使用COM+服務模型配置工具 278
11.4 將COM+組件以WCF Web服務提供 279
11.5 從COM調用WCF服務 284
11.5.1 創建服務 284
11.5.2 創建客戶端 286
11.5.3 創建VBScript檔案 288
11.5.4 測試解決方案 288
11.6 與MSMQ集成 289
11.7 創建與MSMQ集成的WCF服務 289
11.7.1 創建請求 289
11.7.2 創建服務 290
11.7.3 創建客戶端 292
11.7.4 測試 296
11.8 小結 296
第12章 互操作性 297
12.1 簡介 298
12.2 小結 299
12.3 參考文獻 299
第五部分 擴展WCF
第13章 定製行為 302
13.1 簡介 302
13.2 擴展WCF 302
13.3 用定製行為擴展服務模型 302
13.3.1 聲明你要提供的行為的類型 303
13.3.2 將定製行為附加到操作或
終結點上 306
13.3.3 將定製行為告知WCF 306
13.4 實現定製行為 306
13.4.1 聲明 306
13.4.2 附加 307
13.4.3 告知 307
13.5 實現各種類型的定製行為 313
13.5.1 操作選擇器 313
13.5.2 參數檢查器 315
13.5.3 訊息格式器 317
13.5.4 訊息檢查器 319
13.5.5 實例上下文提供者 321
13.5.6 實例提供者 321
13.5.7 操作調用器 322
13.6 實現WSDL導出擴展 323
13.7 定製行為實戰 325
13.8 小結 326
13.9 參考文獻 326
第14章 定製信道 327
14.1 簡介 327
14.2 綁定元素 327
14.2.1 出站通信 328
14.2.2 入站通信 328
14.3 信道是有形狀的 329
14.4 可能需要信道支持會話 330
14.5 根據契約匹配信道 330
14.6 通信狀態機 332
14.7 創建定製綁定元素 332
14.7.1 理解起點 332
14.7.2 提供一個支持出站通信的定
制綁定元素 333
14.7.3 更改自定綁定元素以支持入
站通信 339
14.7.4 通過配置套用定製綁定元素 344
14.8 小結 346
第15章 定製傳輸 348
15.1 簡介 348
15.2 傳輸信道 348
15.2.1 入站通信 348
15.2.2 出站通信 349
15.3 訊息編碼器 349
15.4 完善棧 349
15.5 實現傳輸綁定元素和編碼器綁定元素 350
15.5.1 場景 350
15.5.2 要求 351
15.5.3 TcpListener類和TcpClient類 351
15.6 實現支持任意TCP協定的定製綁定
元素 353
15.6.1 配置 353
15.6.2 定製傳輸綁定元素 355
15.6.3 信道監聽器 357
15.6.4 傳輸信道 359
15.6.5 訊息編碼器 361
15.6.6 使用定製傳輸綁定元素 362
15.7 小結 363
15.8 參考文獻 363
第六部分 具體案例
第16章 發布/訂閱系統 366
16.1 簡介 366
16.2 使用回調契約的發布/訂閱系統 366
16.3 使用MSMQ實際通用組播的發布/
訂閱系統 372
16.4 使用流的發布/訂閱系統 378
16.4.1 流傳輸模式 378
16.4.2 使用流傳輸模式傳送定製流 382
16.4.3 使用流傳輸模式和定製流實
現發布/訂閱系統 385
16.5 小結 388
16.6 參考文獻 389
第17章對等通信390
17.1 介紹對等信道 390
17.2 在點對點套用中使用結構化數據 390
17.3 利用Windows對等網路開發平台 391
17.4 理解Windows對等網路 391
17.5 使用對等信道 392
17.5.1 終結點 392
17.5.2 綁定 392
17.5.3 地址 395
17.5.4 契約 395
17.5.5 實現 396
17.6 對等信道實戰 396
17.6.1 構想解決方案 396
17.6.2 設計數據結構 399
17.6.3 定義服務契約 401
17.6.4 實現服務契約 403
17.6.5 配置終結點 404
17.6.6 將訊息發給特定的節點 406
17.6.7 定製對等名稱解析 408
17.6.8 查看對等信道的工作 412
17.7 對等信道和People Near Me 414
17.8 小結 414
17.9 參考文獻 414
第18章 REST和Plain XML服務 415
18.1 簡介 415
18.2 REST 415
18.3 REST服務 416
18.4 REST服務和Plain XML 416
18.5 REST服務的優點和局限 416
18.6 使用WCF創建RESTpox服務 417
18.6.1 REST POX服務終結點的
地址 417
18.6.2 REST POX服務終結點的
綁定 417
18.6.3 REST POX服務終結點的
契約 418
18.6.4 實現 418
18.6.5 應用程式範例 419
18.7 小結 423
18.8 參考文獻 423
第七部分 WCF應用程式的生命周期
第19章 可管理性 426
19.1 簡介 426
19.2 檢測功能與工具 426
19.2.1 配置系統和配置編輯器 427
19.2.2 Service Configuration Editor 429
19.2.3 安全事件的可配置審計 433
19.2.4 訊息日誌、活動跟蹤和
Service Trace Viewer 436
19.2.5 性能計數器 444
19.2.6 WMI提供程式 445
19.3 完善管理工具 453
19.4 小結 453
19.5 參考文獻 453
第20章 版本處理 454
20.1 簡介 454
20.2 版本術語 454
20.3 版本問題集 455
20.3.1 添加新的操作 455
20.3.2 更改操作 457
20.3.3 刪除一個操作 460
20.3.4 更改綁定 460
20.3.5 決定廢除一個終結點 460
20.3.6 更改服務終結點的地址 460
20.4 集中的生命周期管理 461
20.5 小結 462
20.6 參考文獻 463
第八部分 規範
第21章 規範 466
21.1 簡介 466
21.2 採用WCF 466
21.3 使用WCF地址 467
21.4 使用WCF綁定 469
21.5 使用WCF契約 471
21.5.1 使用結構化契約 473
21.5.2 使用行為契約 475
21.6 使用WCF服務 477
21.7 使用WCF客戶端 483
21.8 使用大量數據 488
21.9 調試WCF應用程式 490
21.10 小結 490
21.11 參考文獻 490
書摘插圖
第1章 預備知識
本章內容
*簡介
*分部類型
*泛型
*可空值類型
*輕量型事務管理器
*角色提供程式
*參考文獻
1.1 簡介
為了能正確理解並有效使用WCF,必需熟悉.MET Framework2.0和.NET CLR的一些功能特性。本章將介紹書中需要用到的分部類型、泛型、可空值類型、輕量級事務管理器和角色提供程式。對這些特性的講解並不是為了面面俱到,僅僅只是充分地闡明它們在後面章節中的用途。
……