• WCF服务编程(第4版)
21年品牌 40万+商家 超1.5亿件商品

WCF服务编程(第4版)

正版二手书,欢迎选购

25.94 2.0折 128 八品

仅1件

北京朝阳
认证卖家担保交易快速发货售后保障

作者(美)居瓦·洛瑞//麦克·芒宫美瑞|译者:徐雷//徐扬

出版社华中科技大学

ISBN9787568026222

出版时间2017-04

装帧平装

开本16开

定价128元

货号1792456082967876608

上书时间2024-12-10

宏铭图书店

十三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八品
商品描述
前言
在软件历史的长河中,WCF逐渐成为前辈框架。2001年8月,我第一次了解到微软公司在使用托管代码重写COM+的工作细节。在2002年7月重新审订C# 2.0战略的时候,Remoting的经理提出要以一种开发人员实际使用的方式重写Remoting代码。与此同时,微软公司也在忙于把新的Web Service安全规范引入ASMX堆栈,并且与其他公司一起积极起草新的Web Service规范。 

2003年7月,我被授权参与一个新的事务性框架的研发工作,这个框架用来改进.NET事务编程。当时,还没有一个高耦合的编程模型可以统一这些千差万别的技术。直到2003年年末,我接到一个私人邀请,加入一个由许多行业专家组成的团队来参与审订Indigo平台的战略设计。我所知道的一些最优秀的人都是这个团队的成员。在此后的两三年里,Indigo经历了三代编程模型。最终声明式、终结点驱动的对象模型于2005年初才初露端倪,2005年8月就基本定型,命名为Windows Communication Foundation(WCF)。WCF在2006年作为.NET 3.0的一部分发布出来。 

在软件集成领域,WCF就是巨人。它包含所有构建现代软件需要的正确元素、所有现代软件需要的基础模式,可扩展、基于拦截的管道;它是未来Azure Service Fabric的基石,而且与Service Fabric完美集成。实际上,之前三个版本的图书已经介绍了实现Service Fabric的所有元素。因此,WCF至关重要。 

WCF包含的几方面内容是今天唯一提供互操作性、生产效率和可扩展性的技术。它就是终极互操作的解决方案,是一大串行业规范的集成。对分布式系统开发人员来说,它是最容易实现远程调用和队列调用的方式。对系统开发人员来说,它是下一代面向生产力的代表,如事务和托管,它提供了许多现成的构件。对应用程序开发人员来说,它就是结构化应用系统的声明式的编程模型。对架构师来说,它就是一个构件面向服务应用系统的工具。WCF事实上非常简单,它其实就是微软各种通信技术的统一平台。 

个人认为,WCF是下一代的开发平台,并且被最大限度地集成到.NET中。抛开应用系统的类型、大小或行业范围,所有的.NET开发人员都应该使用WCF。WCF提供了一种方便、简洁的方式去生成符合设计原则的服务和应用程序。设计WCF的目的是简化应用程序的开发和部署成本。WCF服务可用来构建面向服务的应用程序,从独立的桌面应用到基于Web的应用和服务,以及高端的企业应用。 

本书涵盖了基于WCF开发面向服务应用程序的主题和技能,阐述了如何使用内置的特性,如服务托管、实例管理、并发管理、事务、无连接队列调用、安全和Windows Azure服务总线等。本书不仅告诉你如何使用这些特性,还告诉你为什么使用这些特性,以及特性设计背后的原因。你不仅会从中学习到WCF编程和相关系统的知识,而且会了解相关的设计原则、提示、最佳实践和误区。我会从软件工程的角度来介绍每个知识点,因为我的目标不仅是让你成为一个WCF专家,而且是让你成为一名出色的软件工程师。掌握了本书的精髓,你就可以开发具有可维护性、可扩展性、可复用性和高生产率的应用程序。 

《WCF服务编程》第四版也给了我一些机会:首先,可以介绍WCF 4.6的新特性,如并行处理和配置简化;其次,可以介绍Azure Service Fabric,这是一个根本的颠覆性技术,因为它允许开发人员构建各种应用,并统一开发和运营;最后,可以介绍我积累的多年的WCF编程技术、想法及帮助类,以及对前一版的一些改进想法。我相信这些新的材料会使本书更具价值。 

本书没有介绍WCF的实现细节,而是重点关注WCF的实际应用:如何使用WCF技术,如何在已有的设计和编程模型之间选择。本书尽量介绍.NET 4.6和Service Fabric的知识,当然从某种程度上说它也是一本高级C#编程书。 

此外,本书还包含许多有用的代码、工具和我编写的帮助类,收集在ServiceModelEx里。我的工具、帮助类及属性可以提高你的代码生产率和WCF服务的质量。ServiceModelEx是一个小的框架,寄宿于WCF内,它提供了一些监测功能,简化了一些代码工作。本书介绍的内容主要是关于原生态WCF的工具、想法及技巧。我的框架也演示了如何扩展WCF。许多读者告诉我,除了本书的内容介绍之外,ServiceModelEx是最有价值的部分。我的建议是,读者不必使用ServiceModelEx全部的代码。实际上,ServiceModelEx是一个WCF强大工具集,你可以独立地使用其中每个辅助类、工具或框架,它们之间的内在联系很少。 

每个章节讨论一个主题,并进行深入分析。然而,每个章节都依赖于之前的章节,所以建议你按照顺序学习。

作者简介

Juval Löwy是IDesign的创始人,也是专注于系统与项目设计的软件架构师。 
Juval 已经培养了全球各地数百位架构师,分享他在软件架构、项目设计、系统开发领域的独到见解和知识技巧。Juval是微软硅谷的区域总监,参与过微软内部C#, WCF等相关技术的设计评审工作。微软授予他“软件传奇” (Software Legend)称号以表彰其卓越的贡献,他是世界di.ji的.NET专家之一和行业领导者。 
Michael Montgomery是IDesign的软件架构师,专注于.NET分布式系统设计与微服务架构开发技术。他指导过许多开发者使用IDesign的方法成功按时、按预算、按质量交付过系统。他发表了许多软件架构领域的文章,分享自己独特的观点。他还经常在各种.NET技术大会上演讲。



目录

第1章 WCF基础 1 
什么是WCF 1 
服务 2 
服务的执行边界 3 
WCF与位置透明度 4 
地址 4 
TCP地址 5 
HTTP地址 6 
IPC地址 6 
MSMQ地址 6 
WebSocket地址 7 
UDP地址 7 
契约 7 
服务契约 8 
托管 11 
IIS托管 12 
自托管 13 
WAS托管 18 
在IIS/WAS里自定义托管 18 
选择宿主 19 
绑定 20 
常用绑定 21 
选择绑定 22 
其他绑定 23 
使用绑定 25 
终结点 25 
以管理方式配置终结点 26 
以编程方式配置终结点 30 
默认终结点 31 
Configure()方法 34 
元数据交换 36 
基于HTTP-GET的元数据 37 
元数据交换终结点 40 
元数据浏览器 46 
行为配置的更多内容 48 
客户端编程 49 
生成代理 50 
以管理方式配置客户端 54 
以编程方式配置客户端 59 
WCF提供的测试客户端 60 
编程方式配置VS管理方式配置 62 
配置策略 63 
WCF体系结构 63 
宿主体系结构 64 
使用通道 65 
InProcFactory类 67 
传输会话层 70 
传输会话与绑定 71 
传输会话终止 71 
可靠性 72 
绑定、可靠性和有序消息 73 
配置可靠性 73 
必备有序传递 75 
第2章 服务契约 77 
操作重载 77 
契约继承 79 
客户端契约层级 80 
服务契约分解与设计 84 
契约分解 84 
分解准则 86 
契约查询 88 
以编程方式处理元数据 88 
第3章 数据契约 95 
序列化 95 
.NET序列化 96 
序列化的数据契约 100 
数据契约特性 101 
导入数据契约 104 
数据契约与Serializable特性 106 
推断数据契约 107 
组合数据契约 109 
数据契约事件 110 
共享数据契约 112 
数据契约层级 113 
已知类型 114 
服务已知类型 116 
多个已知类型 117 
配置已知类型 118 
数据契约解析器 119 
Objects与接口 129 
数据契约等效性 131 
序列化顺序 132 
版本控制 134 
新增成员 135 
缺失成员 135 
版本控制往返 139 
数据契约分解与设计 141 
数据契约设计 142 
数据契约分解 142 
操作分解 151 
数据传输对象(DTO)模式 153 
务实的模式使用 154 
枚举 154 
委托与数据契约 156 
泛型 157 
集合 160 
具体集合类型 161 
自定义集合 163 
CollectionDataContract特性 163 
引用集合 165 
字典集合 165 
第4章 实例管理 169 
行为 169 
单调服务 170 
单调服务的优势 171 
配置单调服务 172 
单调服务与传输会话 173 
设计单调服务 173 
选择单调服务 176 
会话服务 176 
配置私有会话 176 
会话与可靠性 181 
会话ID 182 
会话终止 183 
单例服务 184 
初始化单例服务 185 
选择单例服务 188 
操作分界 188 
实例停止 190 
配置为ReleaseInstanceMode.None 192 
配置为ReleaseInstanceMode.BeforeCall 193 
配置为ReleaseInstanceMode.AfterCall 193 
配置为ReleaseInstanceMode.BeforeAndAfterCall 193 
显式停止 194 
使用实例停止 195 
持久化服务 195 
持久化服务与实例管理模式 196 
实例ID与持久化存储区 196 
显式实例ID 197 
消息头里的实例ID 199 
支持实例ID的上下文绑定 202 
自动持久化行为 207 
限流 213 
配置限流 215 
第5章 操作 221 
请求/应答操作 221 
单向操作 221 
配置单向操作 222 
单向操作与可靠性 223 
单向操作与会话服务 223 
单向操作和异常 224 
回调操作 225 
回调契约 226 
客户端回调设置 227 
服务端的回调调用 230 
回调连接管理 233 
双向代理与类型安全 235 
回调契约层级 240 
事件 241 
流操作 245 
I/O流 245 
流操作与绑定 246 
流操作与传输 247 
第6章 错误 249 
错误隔离和解耦 249 
错误屏蔽 249 
通道故障 250 
错误传播 254 
错误契约 256 
错误调试 259 
错误与回调 265 
错误处理扩展 268 
提供错误 269 
处理错误 272 
安装错误处理扩展 274 
宿主与错误扩展 277 
回调与错误扩展 280 
第7章 事务 283 
恢复的挑战 283 
事务 284 
事务资源 284 
事务属性 285 
事务管理 286 
资源管理器 289 
事务传播 289 
事务流与绑定 289 
事务流与操作契约 290 
单调 292 
事务协议与管理器 293 
协议与绑定 293 
事务管理器 294 
事务管理器提升 296 
Transaction类 297 
环境事务 298 
本地事务VS分布式事务 298 
服务事务编程 299 
设置环境事务 299 
事务传播模式 301 
投票与提交 308 
事务隔离 311 
事务超时 313 
明确使用事务编程 314 
TransactionScope类 314 
事务流管理 316 
非服务客户端 323 
服务状态管理 324 
事务边界 325 
实例管理与事务 325 
单调事务服务 326 
会话事务服务 329 
事务持久化服务 342 
事务行为 344 
事务单例服务 349 
实例模式与事务 352 
回调 353 
回调事务模式 354 
回调投票 356 
使用事务型回调 356 
第8章 并发管理 359 
实例管理与并发 359 
服务并发模式 360 
ConcurrencyMode.Single 360 
ConcurrencyMode.Multiple 361 
ConcurrencyMode.Reentrant 364 
实例与并发访问 366 
单调服务 366 
会话与单例服务 367 
资源与服务 368 
访问死锁 368 
避免死锁 369 
资源同步上下文 370 
.NET同步上下文 370 
UI同步上下文 373 
服务同步上下文 378 
托管在UI线程上 379 
作为服务 384 
UI线程与并发管理 387 
自定义服务同步上下文 389 
线程池同步化器 389 
替换I/O完成线程池 394 
线程关联性 395 
优先级处理 397 
回调与客户端安全 400 
使用ConcurrencyMode.Single回调 401 
使用ConcurrencyMode.Multiple回调 402 
使用ConcurrencyMode.Reentrant回调 402 
回调与同步上下文 403 
回调与UI同步上下文 403 
回调自定义上下文 406 
异步调用 410 
异步机制的需求 410 
基于代理的异步调用 411 
异步调用 413 
轮询或等待完成 415 
延续 417 
延续与线程安全 420 
延续同步上下文 421 
单向异步调用 427 
异步错误处理 430 
异步调用与事务 433 
同步与异步调用 433 
异步服务操作 434 
第9章 队列服务 455 
无连接的服务与客户端 455 
队列调用 456 
队列调用架构 456 
队列契约 457 
配置与安装 458 
事务 464 
传递与回放 464 
事务配置 466 
非事务性队列 469 
实例管理 469 
单调队列服务 470 
会话队列服务 471 
单例服务 475 
并发管理 476 
限流 476 
传送失败 477 
死信队列 478 
生存时间 478 
配置死信队列 479 
处理死信队列 480 
回放失败 484 
有害消息 485 
里的有害消息处理 486 
队列调用与连接调用 490 
要求队列化 491 
应答服务 492 
设计应答服务契约 493 
客户端编程 496 
队列服务端编程 499 
应答服务端编程 501 
事务 502 
HTTP桥 505 
设计桥 505 
事务配置 506 
服务端配置 506 
客户端配置 508 
第10章 安全 511 
验证 511 
授权 512 
传输安全 512 
传输安全模式 513 
传输安全模式配置 514 
Transport安全和凭据 517 
Message安全和凭据 517 
身份标识管理 518 
整体策略 518 
场景驱动方法 519 
Intranet应用场景 520 
保护Intranet绑定 520 
约束消息保护 526 
身份验证 528 
身份标识 530 
安全调用上下文 531 
模拟 533 
授权 540 
身份标识管理 545 
回调 546 
Internet应用场景 547 
安全Internet绑定 547 
消息保护 549 
验证 553 
使用Windows凭据 555 
使用ASP.NET provider 556 
标识管理 564 
B2B应用场景 565 
保护B2B绑定 565 
验证 566 
授权 568 
身份标识管理 569 
宿主安全配置 570 
匿名应用场景 570 
确保匿名绑定的安全 571 
验证 571 
授权 571 
标识管理 571 
回调 572 
无安全场景 572 
无安全的绑定 572 
验证 573 
授权 573 
标识管理 573 
回调 573 
场景总结 574 
声明式安全框架 574 
SecurityBehaviorAttribute 575 
宿主端的声明式安全 582 
客户端的声明式安全 583 
安全审计 590 
配置安全审计 591 
声明式安全审计 593 
第11章 Azure Service Fabric微服务平台 595 
为什么需要Azure Service Fabric 595 
集成平台 596 
设计一致性 596 
编程模型一致性 596 
未来兼容 596 
为Service Fabric作准备 598 
ServiceModelEx.ServiceFabric 598 
配置Service Fabric 599 
IT运维 599 
部署 600 
两者兼备 601 
编写Service Fabric 606 
服务编程模型 606 
可靠服务 607 
可靠角色 614 
状态管理 617 
托管 623 
客户端编程模型 624 
建模Service Fabric 633 
建模方法 633 
建模可靠服务 635 
建模可靠角色 637 
建模托管宿主 645 
测试 646 
附录A 面向服务概述 653 
附录B 消息头与上下文 665 
附录C 服务发现 687 
附录D 发布-订阅服务 741 
附录E 通用拦截器 765 
附录F WCF编码规范 781 
附录G ServiceModelEx分类



内容摘要
本书介绍了基于WCF开发面向服务应用程序的主题和技能;阐述了如何使用其内置的特性,如服务托管、实例管理、并发管理、事物、无连接队列调用、安全和Windows Azure AppFabric 服务总线;介绍了.NET 4.6 和Service Fabric知识。此外,本书还包含许多有用的代码、工具和帮助类,收集在名为ServiceModelEx里。它们可以用来提高代码生成率和WCF服务的质量。本书不仅介绍了WCF编程和相关系统的知识,还介绍了相关的设计原则、提示、zui佳实践和误区,重点关注WCF的实际应用。 

本书是一本关于现代软件工程的图书,不仅会让你成为一个WCF专家,更会让你成为一名出色的软件工程师。

主编推荐
适读人群 :计算机程序员和计算机程序设计架构师

 本书介绍了关于WCF深入、详细、系统的知识,可以帮助我们学习并构建可维护、可扩展、可复用的应用系统。本书通过告诉我们“为什么”以及“如何”使用WCF进行开发来帮助我们精通WCF编程,让我们成长为一名出色的软件工程师。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP