第I部分 WCF入门 3
第1章 WCF概述 3
1.1SOA的用途 3
1.1.1回顾 4
1.1.2理解面向服务 5
1.1.3SOA的原则 6
1.1.4Microsoft对SOA的承诺 7
1.1.5SOA小结 8
1.2选择WCF的理由 8
1.2.1WCF体系结构 9
1.2.2WCF的组成 11
1.2.3WCF的功能 13
1.3小结 14
第2章 WCF概念 15
2.1消息 15
2.1.1消息的结构 15
2.1.2消息处理程序 20
2.1.3消息处理模式 22
2.2通道 23
2.3服务 26
2.3.1端点 27
2.3.2地址 28
2.3.3绑定 28
2.3.4契约 29
2.4行为 30
2.5小结 30
第3章 了解WCF 33
3.1WCF编程模型 33
3.1.1SO或00 33
3.1.2服务模型 35
3.1.3WCF编程方法 40
3.1.4WCF编程 43
3.1.5开发过程 43
3.1.6WCF编程模型的定义 44
3.2安装WCF 44
3.3创建第一个WCF服务 47
3.3.1服务代码 58
3.3.2Service.svc 59
3.3.3Web.config 59
3.4小结 59
第Ⅱ部分 WCF编程基础 63
第4章 地址 63
4.1WCF地址 63
4.1.1地址类型 64
4.1.2地址格式 65
4.2为WCF地址编程 67
4.2.1EndpointAddress类 67
4.2.2为地址编程 69
4.3小结 73
第5章 WCF绑定及编程 75
5.1了解WCF绑定 75
5.2为WCF绑定编程 92
5.3小结 107
第6章 WCF契约及其编程 109
6.1WCF契约 109
6.1.1契约及其与CLR的关系 110
6.1.2服务契约 110
6.1.3服务类型 114
6.1.4数据契约 120
6.1.5消息契约 124
6.2对WCF契约编程 130
6.2.1数据契约 130
6.2.2消息契约 136
6.3小结 142
第7章 客户端 143
7.1客户端体系结构 143
7.1.1客户端对象 144
7.1.2客户端通道 145
7.1.3通道工厂 146
7.2客户端通信模式 149
7.2.1单向 149
7.2.2请求-响应 150
7.2.3双工 151
7.2.4异步 154
7.3创建客户端代码 156
7.4定义客户端绑定和端点 157
7.5类型化与无类型服务 159
7.5.1调用类型化服务的操作 159
7.5.2调用无类型服务的操作 159
7.6有用的信息 160
7.6.1交互地初始化通道 160
7.6.2会话和通道持续时间 160
7.6.3阻塞问题 161
7.6.4异常处理 161
7.7客户端编程示例 162
7.7.1ChannelFactory 162
7.7.2双工 168
7.8小结 174
第8章 服务 175
8.1概述 175
8.1.1服务类型 175
8.1.2服务契约 179
8.1.3服务端点 179
8.2服务行为 181
8.2.1ScrviccBehavior属性 182
8.2.2OperationBehavior属性 189
8.2.3使用配置指定行为 191
8.3InstanceContext 192
8.4处理异常 193
8.4.1FaultException 194
8.4.2FaultContract属性 194
8.5编程示例 196
8.6小结 201
第9章 事务和可靠会话 203
9.1事务 203
9.1.1概述 203
9.1.2System.ServiceModel中的事务属性 205
9.2可靠会话 208
9.2.1概述 208
9.2.2消息交换 209
9.2.3安全消息 211
9.2.4队列 214
9.3小结 222
第10章 安全 223
10.1安全概述 223
10.1.1概念 224
10.1.2选择WCF安全的原因 225
10.1.3凭证 230
10.2安全行为和绑定 232
10.2.1安全行为 232
10.2.2绑定 235
10.4最佳实践 239
10.5小结 240
第11章 定制WCF 241
11.1扩展ServiceHost和服务模型层 241
11.1.1客户端 241
11.1.2调度程序 246
11.1.3行为 250
11.2扩展通道层 251
11.2.1客户端通道 251
11.2.2服务通道 252
11.2.3通道开发 253
11.2.4扩展绑定 256
11.3用户定义的绑定 258
11.4小结 259
第12章 互操作性和集成性 261
12.1互操作性 261
12.1.1Web服务协议支持 261
12.1.2WSE 263
12.1.3ASP.NETWeb服务 268
12.1.4WCF/ASP.NET兼容端点 268
12.2集成性 270
12.2.1COM+ 270
12.2.2MSMQ 272
12.3小结 274
第Ⅲ部分 部署WCF 277
第13章 部署WCF 277
13.1安装WCF服务 277
13.1.1支持WCF的操作系统 277
13.1.2软件要求 277
13.1.3安装WCF服务 280
13.2WCF服务配置 282
13.3升级服务 283
13.4检修WCF安装 283
13.4.1客户端/服务通信 283
13.4.2服务异常行为 284
13.4.3异常 284
13.5小结 285
第14章 管理WCF 287
14.1跟踪 287
14.1.1端对端跟踪 287
14.1.2服务跟踪查看器 289
14.1.3筛选跟踪 292
14.2消息日志 296
14.3服务配置编辑器 298
14.3.1Configuration窗格 299
14.3.2Tasks窗格 303
14.3.3Detail窗格 303
14.4性能计数器 303
14.5小结 304
第15章 托管WCF服务 305
15.1托管和自托管之间的对比 305
15.1.1托管 305
15.1.2自托管 306
15.1.3快速比较 306
15.2托管选项 306
15.2.1在HS中托管服务 307
15.2.2最佳实践 311
15.3使用托管代码托管WCF服务 312
15.4在Windows服务中托管WCF服务 313
15.5在WAS中托管WCF服务 314
15.6托管示例 316
15.7小结 324
附录A VisualStudio中的WCF模板扩展 325
附录B 案例分析 331