写点什么

Windows Communication Foundation Unleashed 书评

  • 2008-04-16
  • 本文字数:1195 字

    阅读完需:约 4 分钟

通常,InfoQ 上的书评几乎都对所要评论的书持肯定态度。但有时候我们也会碰到一些不尽人意的作品,WCF Unleashed 就是其中一个。该书由四位作者写成,但通读全书,却让人觉得好像书中的一字一句都是四个人通过投票决定的,最终导致句意生涩。

书中的第一章专门介绍了自 2005 年以来引入的 C#语法。然后提到了在 System.Transactions 中的轻量级事务管理器,以及 System.Web.Security 中的 Role Provider。书中用到了类似的短句“显然,它定义了十个简单方法用来管理角色”,读者不得不怀疑,是否在偶然情况下,出版商误把作者的草稿当作了最后的定稿。

接着,本书又长篇大论且漫无章法地叙述了 COM、Java、.NET 的历史,以及许多作者从未真正定义过的各种术语。而且,书中还摘录了大量其他论文和书籍的引用与参考文献。这些引用不仅与本书的上下文没有太大关系,而且作者还通过添加到括号中的文字擅自改变它们的含义。例如,从 Cwalina 的引用中,作者就把“and finally calling simple methods”一段修改成了“‘and finally [either] calling simple methods’ or handling the instance’s events”。此外,作者还觉得有必要包含参考文献以支持他的主张,例如“Java 虚拟机规格说明书为编译器的输出定义了一个标准格式”。

在第 2 章中,作者又用了一半的篇幅阐释了如何使用 WCF 的详细细节。使用的例子非常精彩,但对例子的阐释却显得语无伦次。其中最为怪异的一段是介绍服务如何托管到一个应用程序域中,以及 Windows 如何为服务初始化公共语言运行时(Common Language Runtime)。千万不要让这些技术术语忽悠了你,实质上,作者提及的所有内容不过就是程序而已,如果你不运行它,甚至都无法工作。

第 3 章并没有得到改观。共有 5 页内容一直都在谈论“XML”,实际上这些空间可以得到更好的利用,用来阐释如何使用 DataContract 和 DataMember 特性。

第 4 章讨论的一些主题,例如会话管理,貌似很有价值,但是归纳起来也就只有这么一句话。

若要更好的管理与会话有关的资源,开发者可以规定调用哪一个操作来初始化会话,哪一个操作来结束会话。

如此而已,其它的主题无非是一些代码片断,对于哪些特性是重要的,或者如何使用它们,都没有任何详尽的描述。

接下来的章节则开始对 Windows Workflow Foundation 进行介绍。是啊,我们刚刚开始了解 WCF,作者却又将我们拉到一个与此无关的技术讨论中。是时候结束我们对本书的评论了。

总而言之,如果你正在寻觅一本好的 WCF 启蒙书籍,那么本书绝非你的目标,除非你别无选择。换句话说,如果你希望购买一本 WCF 的参考手册,或者希望深入了解 WCF 的实际工作原理,那么本书对你而言,绝对毫无帮助。

Windows Communication Foundation Unleashed 的作者为 Craig McMurty、Marc Mercuri、Nigel Watling 和 Matt Winkler,由 SAMS 出版,零售价为 49.99 美元。

查看英文原文: Review of Windows Communication Foundation Unleashed

2008-04-16 04:591175
用户头像

发布了 109 篇内容, 共 42.9 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

永远不该忘记!科技才是硬道理,手中没有剑,跟有剑不用,是两回事

加入高科技仿生人

人工智能 ChatGPT 文心一言 通义千问 科学技术

以PHP门面模式实现简单的邮件发送

北桥苏

php 设计模式 门面模式

全国标杆!3DCAT实时云渲染助力深圳移动5G+智慧校园建设

3DCAT实时渲染

虚拟现实 虚拟仿真 实时渲染云

TiDB x CAPCOM | 为在线游戏提供灵活、可靠、可扩展的数据库服务

PingCAP

NFTScan: 蓝筹 NFT 跌幅严重,如何保持竞争力?

NFT Research

还在为项目初始化、依赖管理问题困扰?Dubbo Initializer 来了!

阿里巴巴云原生

阿里云 云原生 dubbo

如何在uni-app中使用fingerprint2实现游客设备标识

北桥苏

JavaScript 前端 uniapp fingerprint

PHP如何通过rabbitMQ死信队列实现业务的延时/定时操作

北桥苏

php RabbitMQ

为什么企业选择局域网即时通讯软件?局域网即时通讯软件哪家好?

BeeWorks

关于在 MySQL 排序中使用索引这件事!

江南一点雨

MySQL 数据库

搜索接口优化方案——幂集分词表

北桥苏

php elasticsearch thinkphp 搜索引擎;

如何实现文件共享,文件共享的设置方法

镭速

网络中的数据传输模式有哪些-镭速

镭速

Cloud Kernel SIG月度动态:发布ANCK 5.10、4.19新版本,ABS新增仓库构建功能

OpenAnolis小助手

开源 CVE anck 龙蜥sig Cloud Kernel

Mac打不开后缀名为txt文件,显示文本编码中文不适用

互联网搬砖工作者

代码实现RabbitMQ死信队列的创建

北桥苏

php RabbitMQ 消息队列 死信队列

最高5W奖金!百度“墨客”挑战邀请赛再启

百度安全

宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ

北桥苏

RabbitMQ AMQP php-amqplib

Electron登录注册桌面应用源码+安装文件的打包方法

北桥苏

JavaScript Electron electron实战

没关系,前端还死不了

引迈信息

Vue 前端 低代码 JNPF

企业移动数字化平台如何赋能企业管理升级?

BeeWorks

mac屏幕分辨率调整用什么软件好呢?

真大的脸盆

Mac Mac 软件 屏幕分辨率调整

MySQL如何做如等级/成色等特殊顺序的排序

北桥苏

MySQL sql 排序算法

PoseiSwap:合规、隐私与支持更广泛的资产

西柚子

构建动态财务模型,打造商业化的全面预算管理模式

智达方通

业务场景 全面预算管理 财务模型

Windows Communication Foundation Unleashed书评_.NET_Jonathan Allen_InfoQ精选文章