WCF揭秘
分類: 图书,计算机/网络,计算机体系结构,
作者: (美)麦克默蒂 等著,赵科平 译
出 版 社: 人民邮电出版社
出版时间: 2008-9-1字数: 872000版次: 1页数: 491印刷时间: 2008-09-01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115183385包装: 平装编辑推荐
*来自微软WCF开发团队的权威之作;
*从这里,开始.NET企业级开发之旅;
*实战性极强的80多个经典示例。
“WCF开发团队中的每一位项目经理和开发人员都有这本书——我们几乎所有人都把这本书作为开发或Web服务的必备参考书。你一定会像我们一样,发现这是一本令人愉快、有启发性而且很有用的书。”
——Alex Weinert,微软公司WCF开发团队项目经理
“要学习WCF,你只要这本书和WCF SDK!它几乎讲解了对于WCF开发者来说最重要的所有主题,而且非常易于理解。强烈推荐!”
WCF是微软为构建基于Web服务、SOA架构和分布式应用程序所提供的全新统一编程模型,具有强大的互操作性、可扩展性和可管理性,是微软分布式计算的集大成之作,大大简化了.NET平台企业级应用开发。
本书由4位微软WCF开发团队的技术专家撰写,是公认的权威著作,通过大量应用场景,深入地讲解了WCF开发者必须学习的所有知识。书中提供了大量步骤详尽的示例,读者可以从无到有重现解决方案,直接运用到实际项目中去。书中萃取了大量最佳实践和宝贵建议,是整个WCF开发团队集体智慧的结晶,弥足珍贵。
内容简介
本书是WCF 领域内少有的经典著作,以WCF 的预备知识开篇,最后以REST 和Plain XML 服务的具体案例分析结束全书,全面而深入地讲解了WCF 技术的各个知识点,在广度和深度上都恰到好处。本书不仅系统地阐述了WCF 的重要理论知识,而且还提供了大量的实例和解决常见问题的最佳方案。它是WCF 开发团队集体智慧的结晶,是进行WCF 开发必备的参考书。
本书适合于各层次的.NET 开发者。
作者简介
本书的四位作者都是微软公司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.3Microsoft Passport和其他标识验证方法 180
8.4标识规则 181
8.5标识元系统 182
8.6信息卡和CardSpace 186
8.7管理信息卡 188
8.8架构、协议和安全 192
8.9CardSpace与企业 202
8.10小结 205
8.11 参考文献 205
第9章使用信息卡保护应用程序的安全 207
9.1简介 207
9.2标识元系统开发 207
9.3CardSpace的简单示例 209
9.4CardSpace示例的准备工作 209
9.4.1开启IIS和ASP.NET 2.0 210
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.2COM+集成 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.3TcpListener类和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.2REST 415
18.3REST服务 416
18.4REST服务和Plain XML 416
18.5REST服务的优点和局限 416
18.6使用WCF创建REST POX服务 417
18.6.1REST POX服务终结点的
地址 417
18.6.2REST POX服务终结点的
绑定 417
18.6.3REST 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.2Service Configuration Editor 429
19.2.3安全事件的可配置审计 433
19.2.4消息日志、活动跟踪和
Service Trace Viewer 436
19.2.5性能计数器 444
19.2.6WMI提供程序 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的一些功能特性。本章将介绍书中需要用到的分部类型、泛型、可空值类型、轻量级事务管理器和角色提供程序。对这些特性的讲解并不是为了面面俱到,仅仅只是充分地阐明它们在后面章节中的用途。
……