WCF核心技術

WCF核心技術

《WCF核心技術》是2009年人民郵電出版社出版的圖書,作者是Steve Resnick、Rich Crane、Chris Bowen。

基本介紹

  • 書名:WCF核心技術
  • 作者:Steve Resnick、Rich Crane、Chris Bowen
  • 譯者:魯成東、戚文敏
  • 頁數:442
  • 定價:65.00
  • 出版社人民郵電出版社
  • 出版時間:2009-10-01
  • 裝幀:平裝
  • 開本:大16開
內容簡介,作者簡介,圖書目錄,

內容簡介

《WCF核心技術》還介紹了通過WCF用各種方式來擴展原類的Web Service服務,使用各種不同的綁定方式在不同的網路環境甚至本機上部署服務等內容。另外,專門講述了問題診斷與異常處理,還涉及了與微軟工作流(WF)和熱門技術AJAX的集成。
《WCF核心技術》示例豐富,講解透徹清晰,主要面向微軟平台上的開發者。對於已有C#基礎的WCF初學者或具有一定經驗的WCF開發者,《WCF核心技術》也大有裨益。另外,對於正在使用其他技術(如Java)而希望進入WCF領域,或者想對其有所了解的Web Service技術人員,《WCF核心技術》也是適用的參考資料。

作者簡介

Steve Resnick從20世紀90年代中期開始就在微軟公司工作,擔任過從架構師到開發人員以及所在領域中的推廣專家等職務。他的專長是網際網路技術,精於設計構架高容量高價值的Web套用。Steve是美國微軟技術中心的國家級技術總監,他負責制定技術策略與方向,指引其團隊滿足最棘手的客戶要求。他開始使用.NET的時間可以上溯至其剛出現時,他是Web服務、BizTalk、事務處理以及相關技術方面的專家。他在Delaware大學和波士頓大學分別獲得了計算機學士與碩士學位。
Rich Crane是一名技術架構師,在位於麻薩諸塞州沃爾瑟姆的微軟技術中心工作。Rich是擁有超過18年工作經驗的軟體架構師和工程師,最近6年來一直致力於幫助客戶在微軟平台上設計和構建解決方案。他曾使用無數微軟產品和技術工作過,他是BizTaik、SQL Server、SharePoint、集群計算伺服器以及Visual Studio和.NET框架方面的專家,曾多次在諸如TechEd和Code Camp的會議與集會上發表演講。他以最優等的成績畢業於Drexel大學,獲得了電子與計算機工程專業學士學位。
Chris Bowen是微軟公司美國東北區域的開發推廣專家,專長於開發工具、平台以及最佳架構實踐。Chris擁有15年的軟體架構師和工程師工作經驗,他在加入微軟公司以前曾在Monster.corn、VistaPrint、Staples和IDX Systems等公司任高級職位,從事網站及電子商務項目的諮詢工作。他是Professional Visual Studio 2005 Team System(WROX,2006)一書的作者之一。他在Worcester工學院獲得了管理信息系統專業學士學位以及計算機科學碩士學位。

圖書目錄

第1章 基礎 1
1.1 為何選擇WCF 1
1.2 簡介 2
1.3 實現WCF服務 5
1.3.1 服務的ABC 5
1.3.2 完全用代碼編寫WCF服務 5
1.3.3 使用代碼和配置檔案編寫服務 7
1.3.4 再談配置檔案 9
1.3.5 再談服務託管 10
1.3.6 暴露元數據交換端點 11
1.4 實現WCF服務的客戶端 14
1.4.1 完全用代碼編寫WCF客戶端 14
1.4.2 使用代碼和配置編寫WCF客戶端 15
1.5 在IIS中託管服務 18
1.5.1 討論 19
1.5.2 3步完成IIS中的服務託管 19
1.6 實現ASMX服務的WCF客戶端 22
1.6.1 支持工具 22
1.6.2 生成客戶端代理類和配置檔案 23
1.7 小結 26
第2章 契約 28
2.1 服務契約 30
2.1.1 同步請求-回響操作 31
2.1.2 異步請求-回響操作 34
2.1.3 單向操作 36
2.1.4 雙工操作 37
2.1.5 單個服務中的多契約與多端點 44
2.1.6 在WSDL中如何命名操作、類型、行為及命名空間 47
2.2 數據契約 49
2.2.1 為.NET類定義XML Schema 51
2.2.2 定義類的層次結構 53
2.2.3 用KnownType屬性在WSDL中發布其他數據類型 55
2.2.4 數據契約的版本控制 60
2.2.5 數據契約等價性 62
2.2.6 使用容器 63
2.3 訊息契約 64
2.3.1 有類型訊息 65
2.3.2 無類型訊息 68
2.3.3 使用無類型訊息的SOAP訊息頭 70
2.4 小結 72
第3章 信道 74
3.1 信道範型 76
3.1.1 單向通信模式 76
3.1.2 雙工通信 77
3.1.3 請求-回響通信 78
3.1.4 范型變換 80
3.2 操作契約與信道範型 80
3.3 信道監聽器 81
3.4 信道工廠 83
3.5 ICommunicationObject 86
3.6 小結 89
第4章 綁定 90
4.1 選擇合適的綁定 93
4.2 .NET應用程式間的跨機通信 99
4.3 .NET應用程式間的本機通信 102
4.4 使用基本的Web Service進行通信 104
4.5 使用高級Web Service進行通信 107
4.5.1 wsHttpBinding 108
4.5.2 ws2007HttpBinding 110
4.5.3 wsDualHttpBinding 112
4.6 綁定的性能與可伸縮性的比較 119
4.7 使用佇列服務進行通信 121
4.7.1 netMsmqBinding 122
4.7.2 msmqIntegrationBinding 130
4.8 創建定製化綁定 132
4.9 綁定元素 135
4.9.1 傳輸機制 135
4.9.2 編碼器 136
4.9.3 安全 137
4.9.4 傳輸機制的增強/助力 137
4.9.5 范型變換 138
4.9.6 其他協定 138
4.10 通過多種綁定發布服務契約 139
4.11 小結 140
第5章 行為 141
5.1 並發與實例化(服務行為) 143
5.1.1 默認的並發、實例化設定與無會話的綁定 144
5.1.2 單實例使用多執行緒 146
5.1.3 實現單例 147
5.1.4 會話級實例 149
5.1.5 控制並發實例的數量 151
5.1.6 控制並發調用的數量 155
5.1.7 控制並發會話的數量 157
5.2 導出和發布元數據(服務行為) 159
5.3 實現事務(操作行為) 162
5.3.1 服務中的事務化操作 163
5.3.2 在操作之間的流轉事務 168
5.3.3 選擇事務協定——OleTx或WS-AT 173
5.3.4 事務服務行為 174
5.4 實現自定義行為 176
5.4.1 為服務端點行為實現訊息檢驗器 178
5.4.2 作為屬性暴露服務操作行為的參數檢驗器 180
5.4.3 通過配置檔案暴露服務行為 183
5.5 行為安全 187
5.6 小結 187
第6章 序列化與編碼 189
6.1 序列化vs編碼 189
6.2 比較WCF中可以選擇的序列化方式 190
6.2.1 DataContractSerializer 191
6.2.2 NetDataContractSerializer 194
6.2.3 XmlSerializer 195
6.2.4 DataContractJsonSerializer 198
6.2.5 選擇序列化器 199
6.3 保留引用與循環引用 200
6.4 用NetDataContractSerializer共享類型 205
6.5 用IExtensibleDataObject進行往返式序列化 209
6.6 用替身對類型進行序列化 214
6.7 為大型數據使用流模式 220
6.8 用XmlSerializer定製序列化 221
6.8.1 用屬性定製XML序列化 222
6.8.2 用IXmlSerializable定製XML序列化 223
6.9 選擇編碼 225
6.9.1 文本編碼vs二進制編碼 225
6.9.2 通過MTOM編碼傳送二進制數據 227
6.9.3 了解WebMessageEncoder 228
6.10 小結 228
第7章 託管 230
7.1 在Windows Process Activation Services中託管服務 231
7.2 在IIS 7中託管服務 233
7.3 在IIS託管的服務中啟用ASMX特性 235
7.4 自託管 240
7.5 在Managed Windows服務中進行自託管 241
7.6 在單進程中託管多個服務 244
7.7 定義服務和端點定製 247
7.8 小結 249
第8章 安全 251
8.1 WCF安全概念 251
8.1.1 認證 251
8.1.2 授權 252
8.1.3 機密性 252
8.1.4 完整性 252
8.1.5 傳輸和訊息安全 252
8.2 基於證書加密 253
8.2.1 概念 254
8.2.2 設定 254
8.3 傳輸級安全 256
8.3.1 用SSL加密 256
8.3.2 客戶端認證 259
8.3.3 服務的身份 264
8.4 訊息級安全 266
8.5 用Windows內置安全機制加強服務安全 271
8.5.1 本節例子簡介 271
8.5.2 用Windows證件認證用戶 273
8.5.3 使用Windows證件為用戶授權 276
8.5.4 用AzMan做授權 278
8.5.5 扮演用戶 282
8.6 加強網際網路服務的安全 286
8.6.1 ASP.NET集成 287
8.6.2 用成員資格供應器進行認證 288
8.6.3 用角色供應器進行基於角色的授權 291
8.6.4 使用表單認證 293
8.7 日誌與審計 297
8.8 小結 299
第9章 診斷 300
9.1 WCF應用程式範例 300
9.2 追蹤 301
9.2.1 端對端追蹤 301
9.2.2 活動和相關性 302
9.2.3 啟用追蹤 303
9.2.4 詳細程度方面的建議 304
9.3 訊息日誌 304
9.4 額外的配置選項 306
9.4.1 共享監聽器 306
9.4.2 訊息過濾器 307
9.4.3 蹤跡源自動刷新 308
9.4.4 性能計數器 308
9.4.5 Windows Management Instrumentation 309
9.5 使用服務配置編輯器 309
9.5.1 追蹤選項 310
9.5.2 日誌選項 310
9.5.3 配置源 312
9.5.4 配置監聽器 312
9.6 服務蹤跡查看器 313
9.6.1 活動視圖 314
9.6.2 項目視圖 315
9.6.3 訊息視圖 315
9.6.4 圖形視圖 316
9.6.5 分析來自多個源的日誌 317
9.6.6 過濾結果 319
9.7 小結 320
第10章 異常處理 321
10.1 WCF異常處理簡介 321
10.1.1 SOAP通信中的WCF異常 322
10.1.2 未處理異常的例子 322
10.1.3 檢測和恢復出錯的信道 325
10.2 通知異常的細節 326
10.3 通過FaultException管理服務異常 327
10.4 簡單FaultException的限制 330
10.5 創建和使用強類型的故障 331
10.5.1 在FaultContract中聲明故障的定義 331
10.5.2 定義FaultContract 332
10.5.3 以定義的FaultContract拋出FaultException 333
10.5.4 故障契約策略 334
10.6 實現客戶端故障處理器 334
10.7 錯誤處理應用程式塊 336
10.8 小結 337
第11章 工作流服務 338
11.1 集成點 339
11.2 從WF調用WCF服務 340
11.2.1 使用傳送活動 341
11.2.2 編寫定製活動 343
11.3 從WF暴露服務 346
11.3.1 定義接口 346
11.3.2 接收活動 347
11.3.3 app.config中的配置 350
11.3.4 託管服務工作流 351
11.3.5 自託管服務工作流 351
11.3.6 在IIS中託管服務工作流 353
11.4 相關性與持久服務 353
11.4.1 長期運行的工作流 354
11.4.2 處理上下文 358
11.4.3 在伺服器上持久化工作流狀態 360
11.5 控制對服務工作流的訪問 362
11.5.1 聲明式訪問控制 362
11.5.2 編程式訪問控制 363
11.6 小結 365
第12章 對等網路 366
12.1 構建分散式應用程式的幾種方式 366
12.1.1 客戶機/伺服器應用程式 366
12.1.2 N層應用程式 367
12.1.3 peer-to-peer應用程式簡介 367
12.1.4 分散式方式的對比 368
12.2 peer-to-peer應用程式 368
12.2.1 嚙合網路 368
12.2.2 解析同儕嚙合網 369
12.2.3 覆蓋式訊息遞送與定向式訊息遞送 369
12.3 創建peer-to-peer應用程式 370
12.4 使用PNRP解析同儕 372
12.4.1 PNRP引導過程 372
12.4.2 Windows網際網路計算機名 373
12.4.3 PnrpPeerResolver 374
12.4.4 嚙合網認證 374
12.5 使用PNRP註冊名稱 374
12.6 實現定製同儕解析器 377
12.7 限制訊息跳躍數 381
12.8 使用Windows Vista進行協作 383
12.8.1 網路鄰居 383
12.8.2 Windows聯繫人 384
12.8.3 邀請 385
12.8.4 System.Net.PeerToPeer.Collaboration 386
12.9 使用定製綁定的定向式訊息遞送 392
12.10 小結 400
第13章 可程式Web 401
13.1 URI詳解 402
13.1.1 隨處可見的GET 403
13.1.2 格式問題 403
13.1.3 通過WCF進行Web編程 404
13.2 URI和UriTemplates 404
13.2.1 構造URI 405
13.2.2 分析URI 406
13.3 為Web創建操作 407
13.4 使用WebGet和WebInvoke 409
13.4.1 WebGet 409
13.4.2 WebInvoke 410
13.5 通過AJAX和JSON開發Web 411
13.6 使用WebOperationContext 418
13.7 在Web上進行託管 424
13.7.1 WebScriptServiceHost 425
13.7.2 WebScriptServiceHostFactory 425
13.8 通過RSS和ATOM進行內容聚合 425
13.9 小結 429
附錄A 高級主題 430
A.1 元數據發布端點 430
A.1.1 mexHttpBinding 430
A.1.2 mexNamedPipeBinding 431
A.1.3 mexTcpBinding 431
A.1.4 mexHttpsBinding 431
A.2 根據元數據創建客戶端 431
A.3 根據元數據創建Silverlight客戶端 433
A.4 在服務間共享連線埠 434
A.5 配置服務的配額設定 435
A.6 配置HTTP連線 436
A.6.1 回收空閒連線 437
A.6.2 調整連線的生命周期 437
A.6.3 關閉HTTP長連線 438
A.6.4 增加連線數 439
A.7 配置TCP連線 440
A.7.1 回收空閒連線 440
A.7.2 調整連線生命周期 440
A.7.3 增加連線數目 440
A.8 為WCF使用LINQ 441

相關詞條

熱門詞條

聯絡我們