WCF服务编程

WCF服务编程 pdf epub mobi txt 电子书 下载 2026

出版者:华中科技大学出版社
作者:Juval Löwy 著
出品人:
页数:816
译者:徐雷 徐扬 译
出版时间:2011-5-31
价格:118.00元
装帧:平装
isbn号码:9787560970837
丛书系列:
图书标签:
  • WCF
  • .NET
  • SOA
  • 计算机科学
  • 编程
  • 分布式
  • 程序设计
  • SW-Platform/Framework/Architect
  • WCF
  • 服务
  • 编程
  • C#
  • NET
  • SOA
  • 分布式系统
  • Web服务
  • 客户端-服务器
  • 数据服务
  • 架构设计
  • 开发实践
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书涵盖了.NET Framework 4.0的许多新特性,以及WindosAzure AppFabric服务总线,同时,还包括一些最新的WCF想法和技巧。本书通过告诉你“为什么”及“如何”使用WCF来帮助你精通WCF编程、成长为一名出色的软件工程师。通过本书,你可以:

·了解WCF架构和基础构件,包含可靠性和传输会话等关键概念。

·使用像服务托管、实例和并发管理、事务、无连接队列调用、安全和服务等这样的内置特性。

·精通Windows Azure AppFabric服务总线、新的云计算里最具革命性的部分。

·通过使用相关的设计原则、提示和ServiceModelEx框架里的最佳实践,提高WCF服务开发的效率和质量。

·挖掘服务设计背后的原理,揭秘WCF开发的精髓。

作者简介

Juval Löwy是IDesign的软件架构师和主要负责人,他从事.NET架构方面的咨询和高级培训工作。他还是微软硅谷的区域总监,致力于.NET 4.0的推广工作。参加了微软内部关于新版本的.NET和相关技术的设计评审工作。他发表了许多技术文章,经常在开发技术大会上发言。微软授予其“软件传奇”(Software Legend)的称号,是世界顶级的.NET专家和行业领导者。

目录信息

目录
Table of Contents
序言 I
前言 III
第1章 WCF基础 1
什么是WCF 1
服务 2
服务的执行边界 3
WCF与位置透明度 4
地址 4
TCP地址 5
HTTP地址 5
IPC地址 6
MSMQ地址 6
服务总线地址 6
契约 6
服务契约 7
托管 11
IIS 5/6 托管 11
自托管 12
WAS WAS托管 17
IIS/WAS里的自定义托管 18
Windows Server AppFabric 19
选择宿主 20
绑定 21
常用绑定 22
选择绑定 24
其他绑定 24
使用绑定 26
终结点 26
以管理方式配置终结点 27
以编程方式配置终结点 31
默认终结点 32
元数据交换 35
基于HTTP-GET的元数据 35
元数据交换终结点 38
元数据浏览器 44
行为配置的更多内容 46
客户端编程 47
生成代理 48
以管理方式配置客户端 52
以编程方式配置客户端 57
WCF提供的测试客户端 58
编程方式配置VS管理方式配置 60
WCF体系结构 61
宿主体系结构 62
使用通道 62
InProcFactory类 64
传输会话层 68
传输会话与绑定 68
传输会话终止 68
可靠性 69
绑定、可靠性和有序消息 70
配置可靠性 71
必备有序传递 72
第2章 服务契约 75
操作重载 75
契约继承 77
客户端契约层级 78
服务契约分解与设计 82
契约分解 82
分解准则 84
契约查询 85
以编程方式处理元数据 86
MetadataHelper类 88
第3章 数据契约 93
序列化 93
.NET序列化 94
序列化的数据契约 98
数据契约特性 99
导入数据契约 102
数据契约与Serializable特性 104
推断数据契约 105
组合数据契约 107
数据契约事件 108
共享数据契约 110
数据契约层级 111
已知类型 112
服务已知类型 114
多个已知类型 115
配置已知类型 116
数据契约解析器 117
Objects与接口 127
数据契约等效性 129
序列化顺序 130
版本控制 132
新增成员 133
缺失成员 133
版本控制往返 137
枚举 139
委托与数据契约 141
泛型 142
集合 145
具体集合类型 146
自定义集合 148
CollectionDataContract特性 148
引用集合 150
字典集合 150
第4章 实例管理 153
行为 153
单调服务 154
单调服务的优势 155
配置单调服务 156
单调服务与传输会话 157
设计单调服务 157
选择单调服务 160
会话服务 160
配置私有会话 160
会话与可靠性 165
会话ID 166
会话终止 167
单例服务 168
初始化单例服务 169
选择单例服务 171
操作分界 172
实例停止 174
配置为ReleaseInstanceMode.None 176
配置为ReleaseInstanceMode.BeforeCall 176
配置为ReleaseInstanceMode.AfterCall 177
配置为ReleaseInstanceMode.BeforeAndAfterCall 177
显式停止 178
使用实例停止 179
持久化服务 179
持久化服务与实例管理模式 180
实例ID与持久化存储区 180
显式实例ID 181
消息头里的实例ID 183
支持实例ID的上下文绑定 185
自动持久化行为 191
限流 196
配置限流 199
第5章 操作 205
请求/应答操作 205
单向操作 205
配置单向操作 206
单向操作与可靠性 207
单向操作与会话服务 207
单向操作和异常 208
回调操作 209
回调契约 210
客户端回调设置 211
服务端的回调调用 214
回调连接管理 217
双向代理与类型安全 219
回调契约层级 224
事件 225
流操作 229
I/O流 229
流操作与绑定 230
流操作与传输 231
第6章 错误 233
错误隔离和解耦 233
错误屏蔽 233
通道故障 234
错误传播 238
错误契约 239
错误调式 243
错误与回调 249
错误处理扩展 252
提供错误 252
处理错误 256
安装错误处理扩展 258
宿主与错误扩展 261
回调与错误扩展 264
第7章 事务 267
恢复的挑战 267
事务 268
事务资源 268
事务属性 269
事务管理 270
资源管理器 273
事务传播 273
事务流与绑定 273
事务流与操作契约 274
单调 276
事务协议与管理器 277
协议与绑定 277
事务管理器 278
事务管理器提升 280
Transaction类 281
环境事务 282
本地事务VS分布式事务 282
服务事务编程 283
设置环境事务 284
事务传播模式 285
投票与提交 292
事务隔离 295
事务超时 297
明确使用事务编程 298
TransactionScope类 299
事务流管理 300
非服务客户端 307
服务状态管理 308
事务边界 309
实例管理与事务 309
单调事务服务 310
会话事务服务 313
事务持久化服务 326
事务行为 328
事务单例服务 333
实例模式与事务 336
回调 337
回调事务模式 338
回调投票 340
使用事务型回调 340
第8章 并发管理 343
实例管理与并发 343
服务并发模式 344
ConcurrencyMode.Single 344
同步访问与事务 345
ConcurrencyMode.Multiple 345
ConcurrencyMode.Reentrant 348
实例与并发访问 350
单调服务 350
会话与单例服务 351
资源与服务 352
访问死锁 352
避免死锁 353
资源同步上下文 354
.NET同步上下文 354
UI同步上下文 357
服务同步上下文 362
托管在UI线程上 363
作为服务 368
UI线程与并发管理 371
自定义服务同步上下文 372
线程池同步化器 373
线程关联性 377
优先级处理 380
回调与客户端安全 383
使用ConcurrencyMode.Single回调 384
使用ConcurrencyMode.Multiple回调 385
使用ConcurrencyMode.Reentrant回调 385
回调与同步上下文 385
回调与UI同步上下文 386
回调自定义上下文 389
异步调用 393
异步机制的需求 393
基于代理的异步调用 394
异步调用 395
轮询或等待完成 398
完成回调 400
单向异步调用 404
异步错误调用 408
异步调用与事务 408
同步和异步调用 409
第9章 队列服务 411
无连接的服务与客户端 411
队列调用 412
队列调用架构 412
队列契约 413
配置与安装 414
事务 420
传递与回放 420
事务配置 422
非事务性队列 425
实例管理 425
单调队列服务 426
会话队列服务 427
单例服务 431
并发管理 432
限流 432
传送失败 433
死信队列 434
生存时间 434
配置死信队列 435
处理死信队列 436
回放失败 440
有害消息 441
MSMQ 4.0里的有害消息处理 441
MSMQ 3.0里的有害消息处理 446
队列调用与连接调用 446
要求队列化 447
应答服务 449
设计应答服务契约 450
客户端编程 453
队列服务端编程 455
应答服务端编程 457
事务 458
HTTP桥 461
设计桥 461
事务配置 462
服务端配置 463
客户端配置 464
第10章 安全 467
验证 467
授权 468
传输安全 468
传输安全模式 469
传输安全模式配置 470
Transport安全和凭据 473
Message安全和凭据 473
身份标识管理 474
整体策略 474
场景驱动方法 475
Intranet应用场景 476
安全Intranet绑定 476
约束消息保护 482
身份验证 484
身份标识 486
安全调用上下文 487
模拟 489
授权 496
身份标识管理 501
回调 502
Internet应用场景 503
安全Internet绑定 503
消息保护 505
验证 509
使用Windows凭据 511
使用ASP.NET provider 512
标识管理 520
B2B应用场景 520
保护B2B绑定 521
验证 521
授权 524
身份标识管理 525
宿主安全配置 525
匿名应用场景 526
确保匿名绑定的安全 526
验证 527
授权 527
标识管理 527
回调 528
无安全场景 528
无安全的绑定 528
验证 528
授权 529
标识管理 529
回调 529
场景总结 529
声明式安全框架 530
SecurityBehaviorAttribute 530
宿主端的声明式安全 538
客户端的声明式安全 539
安全审计 546
配置安全审计 547
声明式安全审计 549
第11章 服务总线 551
什么是中继服务 552
Windows Azure AppFabric服务总线 552
服务总线编程 553
中继服务地址 553
服务总线注册 556
服务总线浏览器 558
服务总线绑定 558
TCP中继绑定 559
WS 2007中继绑定 563
单向中继绑定 563
事件中继绑定 564
使用云作为拦截器 565
服务总线缓存 566
缓存VS队列 567
使用缓存 567
发送和检索消息 573
缓存服务 574
应答服务 582
服务总线验证 586
配置验证 587
共享安全验证 588
无验证 592
在服务总线上的元数据 594
传输安全 596
Transport安全 597
Message安全 597
中继绑定与传输安全 598
WS中继绑定与传输安全 604
单向中继绑定与传输安全 604
绑定与传输模式 605
简化传输安全 605
附录A 面向服务概述 613
软件工程简史 613
面向对象 614
面向组件 615
面向服务 617
面向服务的优势 618
面向服务的应用程序 619
面向对象的宗旨和原则 620
实践原则 620
可选原则 621
下一步是什么 622
面向服务的平台 623
附录B 消息头与上下文 625
消息头 625
客户端消息头交互 626
服务端消息头交互 628
封装消息头 628
简化客户端 631
上下文绑定 633
客户端上下文绑定交互 634
服务端上下文绑定交互 635
简化客户端 636
简化服务 639
创建自定义上下文绑定 640
附录C 服务发现 647
地址发现 647
服务配置 648
客户端步骤 652
域 654
简化服务发现 656
发展中的服务发现 665
通告 667
声明终结点 668
接收声明 669
简化声明 670
服务总线发现 674
解决方案架构 674
可发现的宿主 676
服务发现客户端 681
声明 686
元数据浏览器 693
附录D 发布-订阅服务 695
发布-订阅设计模式 696
订阅者类型 696
发布-订阅框架 697
管理临时订阅 697
管理持久订阅者 701
事件发布 704
管理持久订阅者 708
单例订阅者 710
队列化发布者与订阅者 711
使用服务总线发布-订阅 712
事件中继绑定 712
使用服务发现实现发布-订阅 719
DiscoveryPublishService<T>类 720
发布者 722
订阅者 723
More on DiscoveryPublishService<T> 723
附录E 通用拦截器 727
拦截服务操作 727
泛型调用者 728
安装拦截器 729
拦截客户端调用 732
跟踪拦截器 734
标识堆栈传播 738
保护调用堆栈拦截器 740
附录F WCF编码规范 743
通用设计规范 743
设计要点 744
服务契约 744
数据契约 745
实例管理 746
操作与调用 746
错误 747
事务 748
并发管理 750
队列服务 750
安全 751
服务总线 752
附录G ServiceModelEx分类 753
索引 755
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我是一个对架构设计细节有强迫症的开发者,总觉得如果不能在设计之初就考虑到服务的可维护性和可测试性,那么后续的维护成本会呈指数级增长。这本书在面向接口编程和依赖注入(DI)与WCF服务的结合方面,提供了非常具有前瞻性的指导。过去我总觉得WCF的宿主环境会使得DI的集成变得复杂和僵硬,但书中展示了如何巧妙地利用自定义的依赖注入容器扩展点,实现在服务实例创建和方法调用生命周期中自动注入依赖对象。这极大地提升了服务的可测试性,因为我们可以很容易地在单元测试中模拟出依赖的服务依赖项。此外,书中对于“服务版本控制”(Versioning)的讨论也十分到位。它没有盲目推崇新的版本号,而是深入分析了如何在不中断现有客户端调用的前提下,平滑地引入新的服务契约,例如通过使用`[ServiceKnownType]`和契约继承来实现向后兼容。这些细节,真正体现了作者作为一线架构师的经验沉淀。

评分

从一个稍微有些经验的开发者的角度来看,这本书最大的价值在于它的“整合性”和“前瞻性”。它将WCF体系中那些原本分散在不同文档和技术细节中的知识点,编织成了一张逻辑严密的网。我特别欣赏作者处理“互操作性”(Interoperability)问题的方式。在当今多语言、多平台的技术栈环境下,服务间的兼容性是硬指标。书中详细对比了WCF与其他主流协议(如SOAP 1.1/1.2, RESTful JSON/XML)在事务和可靠性保证上的差异。它没有片面地宣扬WCF的优越性,而是客观分析了在哪些场景下,WCF的事务(如WS-AtomicTransaction)能提供比REST更强的保证,而在哪些场景下,简单的HTTP协议可能更适合快速迭代。这种成熟的技术观,避免了将WCF塑造成一个万能的银弹。这本书就像一位经验丰富的老工程师,不仅告诉你“怎么做”,更重要的是告诉你“为什么这样做更好”,以及“在什么情况下应该换一种方式”。

评分

说实话,我拿到这本书的时候,正处于一个技术瓶颈期。我们团队正在从传统的ASMX Web服务迁移到更现代化的架构,而WCF作为微软生态中的“中坚力量”,是绕不开的一环。我特别想知道的是,在实际的大规模部署中,性能调优究竟该从何处入手。这本书并没有简单地给出一些“多线程并发”的口号式建议。相反,它深入探讨了消息队列(MSMQ)在实现异步通信和削峰填谷方面的具体配置和最佳实践。书中用了一个专门的章节来分析不同序列化器(如`DataContractSerializer`和`XmlSerializer`)在处理大数据量时的内存占用和CPU消耗差异,这个细节非常宝贵。我记得书中有一个关于宿主环境选择的对比分析,详细比较了IIS托管、WAS(Windows Process Activation Service)托管以及自宿主(Self-Hosting)各自的优缺点,特别指出了WAS在动态回收进程和资源管理上的优势,这直接指导了我们后续的生产环境部署策略。对于那些渴望将理论知识转化为生产力,并对性能极限有追求的技术人员来说,这本书提供的这些“内功心法”是真正有价值的。

评分

这本书的封面设计简洁大气,光是拿在手里就有一种沉甸甸的专业感。我当时是抱着极大的热情想深入了解分布式服务架构的,毕竟在现在的企业级应用中,服务间的通信和集成是绕不开的核心技术点。最初我以为它会是一本偏向于理论推导和抽象概念讲解的著作,毕竟“WCF”这个名字本身就自带一种深厚的技术底蕴。然而,打开扉页后我发现,作者似乎更倾向于用一种非常务实的方式来构建知识体系。它没有大篇幅地堆砌复杂的数学公式,而是直接切入了实际问题的解决方案。比如,我对绑定(Binding)的理解一直停留在“有多种选择”的层面,但这本书通过几个精妙的案例,清晰地剖析了如何根据不同的网络环境和安全需求,来权衡使用`NetTcpBinding`与`BasicHttpBinding`的得失。尤其是在讲解服务契约(Service Contract)的定义时,那种对接口设计原则的强调,让我意识到良好的服务契约设计比单纯的代码实现重要得多。书中对于错误处理机制的描述也相当细致,它教会我如何优雅地在客户端捕获服务端抛出的业务异常,而不是让程序在半空中崩溃,这种对健壮性的追求,在很多入门级书籍中是缺失的。这本书的排版和图示也值得称赞,复杂的通信流程图看起来井井有条,极大地降低了初学者的学习曲线。

评分

坦白讲,市面上关于新技术的新书层出不穷,但真正能把“安全”这个话题讲得深入且不枯燥的却凤毛麟角。这本书在安全方面的论述,让我耳目一新。它不仅仅停留在SSL/TLS这种基础的传输加密层面。书中花了大量的篇幅讲解了基于消息的安全(Message Security),如何利用X.509证书进行数字签名和身份验证,这对于金融、医疗等对数据保密性要求极高的行业至关重要。我印象最深刻的是关于“授权”的设计。作者阐述了如何通过自定义的`ServiceAuthorizationManager`来实现基于角色的访问控制(RBAC),而不是仅仅依赖于操作系统级别的权限。通过一个模拟的CRM系统案例,作者展示了如何确保只有拥有特定权限的用户才能调用某个敏感的API方法。这种从底层机制到高层策略的完整覆盖,让我对WCF的安全模型有了一个立体化的认知,这比单纯依赖框架默认设置要可靠得多。阅读完这部分内容,我对如何构建一个“零信任”架构下的服务边界有了更清晰的思路。

评分

可以作为入门书籍

评分

WCF最好的书

评分

可以作为入门书籍

评分

WCF最好的书

评分

本书涵盖了.NET Framework 4.0的许多新特性,以及WindosAzure AppFabric服务总线,同时,还包括一些最新的WCF想法和技巧。本书通过告诉你“为什么”及“如何”使用WCF来帮助你精通WCF编程、成长为一名出色的软件工程师。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有