2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

图书节选:WCF 服务编程

  • 2008-02-02
  • 本文字数:2496 字

    阅读完需:约 8 分钟

WCF 就是下一代开发者平台,它在很大程度上包容了最初的.NET 编程理念。任何.NET 开发者都可以使用 WCF,而不用考虑应用程序的类型、规模或者行业领域。WCF 是一门基础技术,它提供了生成服务与应用程序的“终南捷径”,完全符合我所认同的良好的设计准则。WCF 从一开始就是工程化的,能够简化应用程序的开发与部署,降低开发成本。WCF 服务用于构建面向服务的应用程序,不管这些程序是独立的桌面应用程序,还是 Web 应用程序和服务,还是高端的企业应用程序。

《WCF 服务编程》(Programming WCF Services,已经由机械工业出版社引进发行)涵盖了所有设计开发基于WCF 的面向服务应用程序所需的知识与技能。通过本书,读者可以看到如何利用WCF 内建的特性,例如服务托管、实例管理、并发管理、事务、离线队列调用以及安全。本书会为读者展示如何使用这些特性并探究它们在这种特定的设计思路下的实现原理。读者不仅能够了解到WCF 编程技术,以及相关的系统知识,同时还包括了相应的设计方案、诀窍、最佳实践以及存在的缺陷。作者之所以站在软件工程的立场阐述本书的每个主题与特征,是因为他期望它能够帮助读者不仅要成为一名WCF 专家,而且还要成为一名优秀的软件工程师。本书带给读者的这种认知能够使读者如虎添翼,使其应用程序在可维护性、可扩展性、可重用性以及高效性方面,更加符合软件工程的理念。

本书回避了许多WCF 的实现细节,更多的是注重使用WCF 的实用性与可行性:如何应用WCF 技术?如何选择可行的设计原则与编程模型?本书大量使用了.NET 2.0 技术,从某种角度来说,本书也可以算是一本高级的C#技术书籍。除此之外,本书包含了大量作者所编写的套件类、工具类以及辅助类。这些内容可以提高开发效率,保障开发的WCF 服务的质量。作者还开发了一个基于WCF 技术的小型框架,用以弥补一些设计缺陷,或者简化确切的任务,使其能够自动化实现。在书中,作者详细地介绍了这些工具、理念与技术并通过自己开发的框架演示了如何对WCF 进行扩展。

样章试读: WCF 服务编程(88 页,包括第 1 章第 2 章第 6 章)

以下是书中各章节以及附录的摘要。

第 1 章,WCF 基础

该章首先阐释了 WCF 的技术原理,并描述了 WCF 的基础概念和构建模块,例如地址、契约、绑定、终结点、托管以及客户端。在该章最后还讨论了 WCF 体系架构,它将是帮助我们理解后面章节的关键。该章假定读者已经了解面向服务的思想与优势。如果你不具备这方面的知识,可以首先阅读附录 A 的内容。即使你已经熟悉了 WCF 的基础概念,我仍然建议你至少能够快速地浏览该章的内容,它不仅能够巩固你已有的知识,更在于该章介绍的一些辅助类与技术术语有助于阅读全书。

第 2 章,服务契约

该章致力于介绍服务契约的设计与开发。首先,你会了解到一些有用的技术,包括服务契约的重载与继承以及其他高级技术。然后,该章深入探讨了如何设计以及分解契约,以利于服务的重用、可维护性以及可扩展性。最后,展示如何通过公开契约元数据完成运行时的交互编程。

第 3 章,数据契约

如果没有实际存在的可共享的数据类型本身,如果没有使用相同的开发技术,应该如何处理客户端与服务之间的数据交换?在该章,你可以看到如何处理某些有趣的现实问题,例如数据版本控制,以及传递元素项集合的方式。

第 4 章,实例管理

究竟是哪一种服务实例处理哪一种客户端的请求?该章给出了问题之钥。WCF 支持多种服务实例管理、激活以及生命周期管理技术,这些技术与系统规模和性能息息相关。该章给出了每一种实例管理模式之间的关系,指导读者何时以及如何有效地使用它们。该章还介绍与之相关的主题,例如限流。

第 5 章,操作

随着对各种类型操作的处理,客户端能够调用服务,遵循相关的设计原则,例如如何改善和扩展基础功能,以支持回调的安装与销毁,管理回调端口与通道,提供类型安全的双向代理。

第 6 章,错误

该章全面介绍了服务将错误与异常返回给客户端的方式,毕竟,诸如异常与异常处理的构建都是一门特定的技术,无法穿越服务边界。该章介绍了错误处理的最佳实践,使开发者能够解除客户端错误处理与服务的耦合度。该章还演示了如何扩展以及改善 WCF 基础的错误处理机制。

第 7 章,事务

首先,该章从整体上介绍了使用事务的目的,然后讨论了事务服务的众多特征:事务管理架构、事务传播配置、WCF 提供的声明性事务支持,以及客户端创建事务的方式。最后,该章讨论了与事务相关的设计原则,例如事务服务状态管理与实例模式。

第 8 章,并发管理

WCF 提供了一种强大而简单的声明方式,用来管理客户端与服务的并发与同步。该章展现了诸多高级技术,例如回调、重入、线程关联度、同步上下文以及避免死锁的最佳实践与原则。

第 9 章,队列服务

该章描述了客户端如何通过队列调用服务,从而支持异步与离线工作。该章首先介绍如何创建与配置队列服务,然后,重点讲解诸如事务、实例管理、故障以及它们对服务业务模型与实现造成的影响。

第 10 章,安全

通过将多个方面的任务分解为一些基本的要素,如消息传递、认证和授权,就可以揭开面向服务安全神秘的面纱。该章演示了如何为局域网和互联网应用程序等关键场景提供安全保障。最后,你可以看到我为声明式的 WCF 安全所编写的框架,设计为自动实现安全的设置,从而极大地简化对安全的管理。

附录 A,面向服务概述

附录 A 为那些希望了解面向服务的读者提供,介绍了我在面向服务的具体应用。附录定义了面向服务应用程序(而非通常所谓的架构)以及服务自身,检验了它在方法学方面的优势。附录还给出了面向服务的原则,通过大多数应用程序所需要的实用要点,强化了面向服务的抽象原则。

附录 B,服务发布与订阅

附录 B 展现了我定义的框架,它实现了发布 - 订阅事件管理的解决方案。框架可以使你只需要编写一两行代码就能发布和订阅服务。发布 - 订阅模式属于第 5 章的内容,之所以将它放入到附录中,是因为它使用了其他章节的内容,例如事务与队列调用。

附录 C,WCF 编码规范

基本上,附录 C 涵盖了全书提及的甚至于没有提及的最佳实践。规范在于阐释应该“如何做”以及“怎么做”,而不阐明其原因。隐藏在规范之中的基础原理可以在本书的其余部分找到。该规范同时还使用了本书讨论的辅助类。

2008-02-02 23:481451

评论

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

TiDB 2022 Hackathon 产品组决赛“不负责任”点评

TiDB 社区干货传送门

案例故事丨MySQL or TiDB?HTAP 数据库在中国 SaaS 行业头部服务商的应用实践

TiDB 社区干货传送门

集合管道模式(上)

冰心的小屋

集成管道模式 pipline

Centos7 gcc4.8.5升级到版本gcc5.4.0

A-刘晨阳

Linux 运维 11月月更 gcc5.4

Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)

A-刘晨阳

Linux 运维 GCC 11月月更 gcc5.4

还不会日志异常检测?看完这篇文章就够了!

云智慧AIOps社区

人工智能 机器学习 大数据 日志分析 异常日志

震惊,改密码这件小事竟然让他差点累到吐血...

嘉为蓝鲸

运维 IT #WeOps

从“一云多芯”支持,看多元算力的全栈云方案

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜 多元算力

久等了,青年技术沙龙北京发车!

小红书技术REDtech

Java Web(三)HTML和CSS

浅辄

Java web HTML5, CSS3 11月月更

双机热备软件哪家好?有哪些功能?咨询电话多少?

行云管家

高可用 热备 双机热备

焱融全闪系列科普|固态存储核心技术 SSD

焱融科技

云计算 分布式 高性能 文件存储 全闪存储

EMR with TiSpark(on EKS )

TiDB 社区干货传送门

即时通讯技术文集(第5期):零基础通信技术入门 [共15篇]

JackJiang

即时通信

API 网关 Apache APISIX 3.0 版本正式发布!

API7.ai 技术团队

Apache 开源 APISIX 新版本/特性发布

峰会实录 | 镜舟科技CEO孙文现:基于StarRocks打造企业级极速统一数据分析产品

StarRocks

数据库·

盒马 iOS Live Activity &“灵动岛”配送场景实践

阿里巴巴终端技术

ios 灵动岛

备战双11,送你一份解压壁纸!

OceanBase 数据库

开源共建携手并进 OpenHarmony使能千行百业生态成果亮相HDC2022

OpenHarmony开发者

OpenHarmony

HDC 2022重磅首发《鸿蒙生态应用开发白皮书》,附全文

HarmonyOS开发者

HarmonyOS

经验分享|用 Flutter 如何开发一个可运行小程序的 App

FinClip

一文了解 DataLeap 中的 Notebook

字节跳动数据平台

大数据 火山引擎 DataLeap

TiDB 的 graceful shutdown

TiDB 社区干货传送门

PingCAP 携手阿里云,探索 TiDB 云原生的进阶之路

TiDB 社区干货传送门

WeOps赋能制造业数字化,助力坚美铝业IT高效管理

嘉为蓝鲸

DevOps 运维 AIOPS weops 嘉为蓝鲸

号称Java圣经!Github上爆火的1058页JVM全栈小册到底有什么魅力

Java全栈架构师

程序人生 JVM 架构师 java面试 jvm调优

TiKV 源码阅读三部曲(二)读流程

TiDB 社区干货传送门

如何使用清源 CleanSource SCA 管理开源风险

安势信息

SCA SBOM 清源CleanSource SCA 开源风险

保定有几家等保测评机构?咨询电话多少?

行云管家

等保测评 等级测评 等保测评机构 保定

DevOps工具链的国产化之道

嘉为蓝鲸

DevOps 运维 IT

DDL 毫秒级同步,Light Schema Change 的设计与实现|新版本揭秘

SelectDB

数据库 大数据 Doris schema 企业号十月 PK 榜

图书节选:WCF服务编程_SOA_霍太稳@极客邦科技_InfoQ精选文章