标题：WCF编程
基本信息
原书名：Programming WCF Services
原出版社： O'Reilly Media, Inc.
作者：Juval Lowy   Clemens Vasters
译者：张逸 徐宁
出版社：机械工业出版社
ISBN：9787111227786
出版日期：2008 年1月
开本：16开
页码：590
  
内容简介
本书是wcf的权威指南。wcf是microsoft推出的在windows操作系统下开发面向服务应用程序的统一平台，是革命性的技术平台。作为微软授予的“软件英杰”，本书作者juval lwy曾经参与了wcf的战略性设计，并与wcf的开发团队一同合作，因此本书具有很高的实用价值，它对wcf进行了深入的技术剖析，而非死板的文档化描述。本书关注隐藏在特殊设计决策之后的根本原理，这些原理包括soa开发中极度匮乏的文档，以及难以理解的特性等。通过本书，开发者与架构师不仅能够了解如何进行wcf程序设计，还能够掌握相关的设计准则、最佳实践以及wcf存在的缺陷。
本书包括50多个工具和辅助类，以及70多个设计图，它们都设计用来提高我们的生产力，保障wcf服务的质量，同时能弥补wcf自身存在的一些缺陷，并帮助简化和自动化特定任务。
除了介绍面向服务的基础知识外，本书涵盖了以下内容：
•服务契约分解。
•事务与错误处理。
•数据契约版本控制与封送。
•并发管理。
•可伸缩性策略。
•队列服务。
•操作、调用与事件。
•面向服务安全性。
•本书从软件工程的角度出发，深入探索了wcf的每个主题。本书能够使您如虎添翼，从而设计出可维护的、可扩展的、可重用的soa应用程序。
作译者
张逸，正大软件集团高级技术管理人员、系统架构师。先后在中兴通讯、HP等国内外大型软件企业任职，参与了AAA、BOE—CIMS、NCIC—CRM和EAS等项目的管理、设计与开发。他主要专注的技术领域为，他熟悉C#、Web Service、 Remoting和WCF等技术，参与了大型项目的分布式架构设计以及企业信息化解决方案的实施。他是《软件设计精要与模式》一书的作者，在面向对象领域具有一定造诣，精通设计模式、测试驱动开发、极限编程与UML等技术或思想的运用。此外，他还担任公司的软件项目管理工作与技术团队建
目录
序 　
前言 　
第1章　wcf基础 　　
什么是wcf 　　
服务 　　
地址 　　
契约 　　
托管 　　
绑定 　　
终结点 　　
元数据交换 　　
客户端编程 　　
编程方式配置与管理方式配置 　　
wcf体系架构 　　
使用通道 　　
可靠性 　　
第2章　服务契约 　　
操作重载 　　
契约的继承 　　
服务契约的分解与设计 　　
.　契约查询 　　
第3章　数据契约 　　
序列化 　　
数据契约特性 　　
数据契约层级 　　　
数据契约等效性 　　　
版本控制 　　　
枚举 　　　
委托与数据契约 　　　
数据集与数据表 　　　
泛型 　　　
集合 　　　
第4章　实例管理 　　　
行为 　　　
单调服务 　　　
会话服务 　　　
单例服务 　　　
分步操作 　　　
实例停用 　　　
限流 　　　
第5章　操作 　　　
请求－应答操作 　　　
单向操作 　　　
回调操作 　　　
事件 　　　
流操作 　　　
第6章　错误 　　　
错误与异常 　　　
错误契约 　　　
错误处理扩展 　　　
第7章　事务 　　　
恢复的挑战 　　　
事务 　　　
事务传播 　　　
事务协议和管理器 　　　
事务类 　　　
事务型服务编程 　　　
显式事务编程 　　　
服务状态管理 　　　
实例管理与事务 　　　
回调 　　　
第8章　并发管理 　　　
实例管理与并发 　　　
服务并发模式 　　　
实例与并发访问 　　　
资源与服务 　　　
资源同步上下文 　　　
服务同步上下文 　　　
定制服务同步上下文 　　　
回调与客户端安全 　　　
回调与同步上下文 　　　
异步调用 　　　
第9章　队列服务 　　　
离线服务与客户端 　　　
队列调用 　　　
事务 　　　
实例管理 　　　
并发管理 　　　
传递故障 　　　
回放失败 　　　
队列调用与联机调用 　　　
响应服务 　　　
http桥 　　　
第10章　安全 　　　
身份验证 　　　
授权 　　　
传输安全 　　　
身份管理 　　　
总体策略 　　　
场景驱动方式 　　　
局域网应用程序 　　　
互联网应用程序 　　　
b2b应用程序 　　　
匿名应用程序 　　　
无安全 　　　
场景总结 　　　
声明式安全框架 　　　
安全审核 　　　
附录a 面向服务概述 　　　
附录b 发布－订阅服务 　　　
附录c wcf编码规范
序言
对于分布式系统，或者说业界不断提及的互联系统的设计与构建，我与本书作者Juval可谓志同道合。我们经历了相似的技术历程，虽然我们效力于不同的公司，负责不同的项目，工作在不同的地方，但我们却有着共同的目标。.
20世纪90年代早期，我们开始了对一种新技术理念的探索，即实现计算机之间的通信与交互。这种被称为分布式系统应用程序的平台技术也逐渐为世人所了解。随着工作站与服务器硬件的逐渐普及，经济因素不再成为制约发展的瓶颈，构建不依赖于单事务网络中心的大型系统就成为了技术热点。对于大范围的数据交换系统而言，同样如此。在过去，我的电话公司如果要求每秒钟传递超过1200位的数据几乎是不可能的，而在如今看来连这都达不到简直不可思议。在同样的线路上，今天的传输速度已经达到了6Mbit/s。这真是一个激动人心的时代啊。
随着分布式计算技术的逐渐成熟，在90年代早期分属两大阵营的大型分布式系统技术渐露峥嵘，即数字设备公司（最终被康柏兼并，并入惠普）主导的DCE技术，以及OMG组织（主要由IBM支持）倡导的CORBA技术。然而在1996~1997期间，所有这些杰出的工程学成果却突然停滞不前。因为此时是互联网的世界，整个世界都疯迷于HTML、HTTP、风险投资以及IPO（Initial Public Offerings，首次公开募股）。整个行业花费了整整10年的时间才逐渐从泡沫经济带来的崩溃中恢复过来。不仅是经济的复苏，技术的发展也重新走回正轨。随之获益的是分布式系统技术由此打破了过去由两大阵营各占半壁江山的局面，多达数十种新的分布式技术如雨后春笋一般展现在人们眼前，使我们拥有了更多的抉择权。
直到2007年，整个行业仍然在为分布式系统的正确编码方式争论不休。Sun公司或者BEA力主Java；而我在微软的同事（包括我）则坚定地主张C#或者Visual Basic才是最佳的实现方式。无论是Sun、BEA、IBM还是微软，都希望机器之间的通信标准能够达成一致。试想昔日的DCE与CORBA之争，正是因为达成了一致的标准规范才为如今的SOAP 1.1奠定了基础，从而开创了分布式技术的盛大场面。..
自从SOAP 1.1作为技术说明（Technical Note）被提交给W3C，到现在已有超过6年的历史。期间，多家行业合作商共同开发与协定了众多基于SOAP的规范，从包括寻址以及众多安全选项的基础规范，到诸如原子事务协作的企业协议。我在微软的团队，仍然非正式地称呼我们的产品为“Indigo”，它代表了整个开发与协商过程中耗费的所有心血。如果没有IBM、微软以及其他合作伙伴对创建通用标准集的大力支持，在竞争如此激烈的企业领域几乎不可能存在开放标准的框架，更不可能具有支持多个开发商以及各种平台的多种实现。
诚然，WCF的实现超出了预计需要花费的时间。标准的协定耗费了大量时间，毕竟我们不能只顾着发布自己的软件（Windows Communication Foundation, WCF），而不考虑它与我们的行业合作伙伴以及竞争者之间的互操作性。设计同样如此，对于那些具有分布式系统开发经验的客户而言，他们花费了大量时间学习以及掌握了我们之前提供的分布式系统技术，包括Web服务增强（WSE）、.NET Remoting、消息传输/MSMQ以及企业服务/COM+，我们在发布软件的同时必须考虑这些客户。
在我刚才引用的技术清单中，包含了五种技术。如果使用非托管代码，则还有更多的技术平台。WCF的其中一个最重要的设计目标就是通过简单的方式将这些技术集合起来，以一种方式进行编程。不管是构建一个队列应用程序、事务型的N层应用程序、P2P客户端、RSS种子服务器，还是构建自己的企业服务总线，都不再需要掌握那些只能解决部分问题的多种技术。我们只需要学习和使用WCF即可。这就是以一种方式编程的魅力所在。
本书展示了大量微软已经构建好的技术细节，它们可以作为您的应用程序与服务的基础。在本书中，作者以享有盛誉的写作技巧，深入浅出而又准确细致地介绍了WCF的体系架构。作为微软互联框架团队成员的我们，也为自己构建的这一产品深感自豪。我们为开发者提供了一个统一的分布式技术体系架构，它具有广泛的互操作性，全面提升了面向服务的特性。同时它还是易于学习的，有利于提高构建面向服务应用程序的生产力。作为当今最杰出的分布式系统专家之一，Juval愿意倾尽心血全力介绍WCF，我们不禁深感荣幸。我们有足够的信心相信，Juval的著作能够帮助您理解人们为什么会对这一产品的问世以及它将创造的新的机遇而激动不已。这些人也包括我们、Juval以及早期的用户社区。享受本书，开始构建您的第一个WCF服务吧。
—— Clemens Vasters
程序经理，微软互联框架团队