第Ⅰ部分 WCF介紹 1
第1章 藍月亮 3
1.1 普遍需求 3
1.2 普遍概念 4
1.3 商業示例 7
1.4 介紹WCF 8
1.4.1 它不隻是另一個API 9
1.4.2 WCF總覽 9
1.4.3 WCF特性 11
1.5 本章小結 16
第2章 麵嚮服務 17
2.1 快速定義麵嚮服務 18
2.2 理解消息 18
2.3 消息參與者 19
2.3.1 初始發送者 20
2.3.2 中介者 21
2.3.3 最終接收者 22
2.4 消息剖析 23
2.4.1 消息信封 24
2.4.2 消息頭 24
2.4.3 消息體 25
2.5 消息傳輸 25
2.6 消息編碼 26
2.6.1 XML Infoset 27
2.6.2 SOAP和XML Infoset 27
2.6.3 文本編碼器 27
2.6.4 二進製編碼器 28
2.6.5 MTOM編碼器 28
2.6.6 選擇恰當的編碼 30
2.7 標記消息地址 31
2.7.1 在傳輸中標記地址與在消息中標記地址 32
2.7.2 指定最終接收者 32
2.7.3 指定初始發送者 33
2.7.4 指定錯誤發送地址 33
2.7.5 識彆消息 34
2.7.6 關聯消息 34
2.7.7 誰在監聽應答消息誰在偵聽應答消息 35
2.7.8 指定一個操作 35
2.7.9 標準消息頭塊的需求 37
2.8 WS-Addressing 37
2.8.1 Endpoint References 38
2.8.2 消息頭塊 39
2.8.3 消息頭塊依賴 41
2.9 麵嚮服務的4個原則 41
2.9.1 邊界清晰 41
2.9.2 服務自治(有幾分) 42
2.9.3 契約共享 42
2.9.4 基於策略的兼容性 43
2.10 概念匯總 43
2.10.1 契約 44
2.11 為什麼需要麵嚮服務閤乎道理 50
2.11.1 版本升級 50
2.11.2 負載均衡 51
2.11.3 平颱一直在變 53
2.11.4 基於內容的路由 53
2.11.5 端到端的安全 53
2.11.6 互操作性 54
2.12 本章小結 54
第3章 消息交換模式、拓撲和編排 55
3.1 消息交換模式 55
3.1.1 數據報交換模式 57
3.1.2 請求/應答消息交換模式 60
3.1.4 雙工消息交換模式 62
3.2 消息拓撲 64
3.2.1 點對點 64
3.2.3 數據報點對點 65
3.2.2 消息轉發代理 65
3.2.4 對等網絡 66
3.3 消息編排 66
3.4 本章小結 67
第4章 WCF 101 69
4.1 WCF快速啓動 70
4.1.1 定義服務契約 70
4.1.2 定義地址和綁定 71
4.1.3 創建一個終結點並啓動偵聽 71
4.1.4 映射接收的消息到HelloWCF的成員 72
4.1.5 編譯、運行和檢驗接收者 73
4.1.6 嚮接收者發送消息 74
4.1.7 編譯、運行和檢驗發送者 75
4.1.8 看消息 76
4.1.9 小變化,大影響 77
4.1.10 暴露元數據 79
4.2.11 使用元數據 82
4.2 從外部剖析WCF 84
4.2.1 地址(Address) 84
4.2.2 綁定(Binding) 85
4.2.3 契約(Contract) 87
4.3 從內部剖析WCF 91
4.4 本章小結 92
第Ⅱ部分 WCF通道層 93
第5章 消息 95
5.1 Message類型介紹 96
5.2 WCF XML棧 97
5.2.1 XmlDictionary類型 98
5.2.2 XmlDictionaryWriter類型 100
5.2.3 XmlDictionaryReader類型 110
5.3 迴到Message類型 113
5.4 創建消息 113
5.4.1 簡要介紹Message序列化和反序列化 113
5.4.2 Message版本 114
5.4.3 對象序列化圖 116
5.4.4 從Reader提取數據 118
5.4.5 使用BodyWriter把數據放進Message 119
5.4.6 Message和SOAP Fault 120
5.5 Buffered vs. Streamed消息 124
5.6 序列化消息 125
5.7 反序列化消息 126
5.7.1 檢查Message 是否是SOAP Fault 126
5.8 Message狀態 127
5.9 使用消息頭 128
5.9.1 MessageHeader類型 128
5.9.2 MessageHeaders類型 133
5.9.3 EndpointAddress類型 138
5.10 復製消息 141
5.11 消息清理 142
5.12 本章小結 143
第6章 通道 145
6.1 正確認識通道 146
6.1.1 實例化通道 147
6.2 通道狀態機 147
6.2.1 ICommunicationObject接口 148
6.2.2 CommunicationObject類型 149
6.2.3 CommunicationObject子類型 150
6.2.4 Open和BeginOpen方法 152
6.2.5 Close和Abort方法 154
6.2.6 Fault方法 156
6.2.7 CommunicationObject堆棧 156
6.3 通道形狀介紹 157
6.4 通道接口和基本類型 159
6.4.1 IChannel接口 160
6.4.2 數據報通道:IInputChannel與IOutputChannel 161
6.4.3 請求/應答通道:IRequestChannel和IReplyChannel 163
6.4.4 雙工通道:IDuplexChannel 165
6.4.5 IDefaultCommunicationTimeouts接口 166
6.4.6 ChannelBase類型 166
6.5 通道功能 168
6.5.1 傳輸通道 168
6.5.2 協議通道 168
6.5.3 組閤通道 170
6.6 創建自定義通道 170
6.6.1 創建基類型 171
6.6.2 創建數據報通道 174
6.6.3 數據報接收通道 174
6.6.4 數據報發送通道 175
6.6.5 雙工通道 177
6.6.6 雙工會話通道 178
6.7 本章小結 179
第7章 通道管理器 181
7.1 通道管理器的概念 182
7.1.2 接收者:通道偵聽器 182
7.2.1 IChannelListener接口 183
7.1.4 IChannelListener<TChannel>接口 184
7.1.5 ChannelListenerBase類型 185
7.1.6 ChannelListenerBase<TChannel>類型 186
7.1.7 創建自定義通道偵聽器 186
7.3 發送者:通道工廠 190
7.3.1 IChannelFactory接口 190
7.3.2 IChannelFactory<TChannel>接口 191
7.3.3 ChannelFactoryBase類型 191
7.3.4 ChannelFactoryBase<TChannel>類型 192
7.2.4 創建自定義通道工廠 193
7.4 本章小結 195
第Ⅲ部分 WCF服務模型層 197
第8章 綁定 199
8.1 綁定對象模型 200
8.1.1 Binding的構造函數 201
8.1.2 Binding的Test方法 202
8.1.3 Binding工廠方法 202
8.1.4 GetProperty<T>方法 204
8.1.5 MessageVersion屬性 204
8.1.6 Scheme屬性 205
8.1.7 CreateBindingElements方法 205
8.2 BindingElement類型 207
8.2.1 Binding Element的構造函數和Clone方法 209
8.2.2 BindingElement的測試方法 210
8.2.3 BindingElement的查詢機製 212
8.2.4 BindingElement工廠方法 212
8.3 TransportBindingElement類型 214
8.4 BindingContext類型 215
8.4.1 BindingContext工廠方法 216
8.5 使用綁定 217
8.6 創建自定義綁定 222
8.7 本章小結 228
第9章 契約 229
9.1 契約的定義 229
9.2 WCF契約剖析 230
9.2.1 服務契約 231
9.2.2 操作契約 233
9.2.3 操作契約參數 236
9.2.4 服務契約到服務對象 237
9.2.5 數據契約 238
9.2.6 消息契約 240
9.2.7 操作兼容性 241
9.2.8 我對契約的看法 242
9.3 從契約定義到契約對象 244
9.4 本章小結 246
第10章 分發器和客戶端 247
10.1 問自己的問題 248
10.2 分發器 250
10.2.1 ChannelDispatcher剖析 251
10.2.2 EndpointDispatcher剖析 254
10.2.3 DispatchRuntime類型 255
10.2.4 DispatchOperation類型 257
10.2.5 ServiceHost類型 258
10.3 客戶端 258
10.4 本章小結 260
索引 261
· · · · · · (
收起)