Windows Workflow Foundation程序开发-基于XAML和C#的WF实战技术与例程

——C#程序员的WF功能与编程接口技术指导

前言

Windows Workflow Foundation(简称WF),是一项对工作流进行定义、执行和管理的技术。它是.NET框架3.0版的一部分,并且将来会被集成到Windows Vista操作系统中。

继COM+和分布式事务协调器之后,WF可被看作是Windows平台上最令人瞩目的一款中间件产品。WF与前两者的区别在于:不是每一个软件应用都需要进行分布式事务处理;但几乎每个软件都要在其内部实现工作流。

在本书帮助下,你可以为你的软件添加上工作流动力。

本书的内容

第1章向我们介绍了工作流的基本概念,说明了WF是如何处理那些存在于工作流解决方案中的疑难问题。“活动(Activity)”是构建工作流定义的基本模块,我们将对它们建立起初步的印象,并且会学习如何使用Visual Studio 2005编制一个简单的工作流。本章同时对WF提供的运行时服务进行了描述。阅读完本章内容,我们就会对WF的基本特征有所了解。

第2章的重点是如何编制工作流。特别地,我们会学习怎样应用C#和可扩展应用程序标记语言(英文简称XAML)构建工作流。通过使用工作流编译器,我们可以更为透彻地了解:WF是如何通过代码生成器从工作流标记码中自动产生类代码的,以及这些自动生成的代码又是如何与我们的手写代码联合产生一个工作流类型的。这一章将提供一些基础知识,这有助于我们了解WF在编译阶段是如何运行的。

在第3章里,我们关注的是顺序工作流。我们会对SequenceActivity进行一番研究,学习一些与事件相关的知识,这些事件都是在一个工作流实例的生存期内由工作流运行时引发的。利用Visual Studio,我们可以创建一些工作流,它们既可以接收参数也能够以调用方法和侦听事件的方式与其宿主进程进行通信。在本章的最后部分将介绍一个工作流例程,在这个例程中,工作流会首先产生一个异常,然后展示如何利用错误处理器捕获到该异常。

第4章会向我们介绍WF基本活动库中的每一个成员。我们会学习控制流活动、通信活动、以及面向事务的活动。本章也会提及Web服务活动、基于规则的活动和状态活动。本章的目的在于使我们不仅认识到基本活动库的所有功能,而且能够知晓每种活动所能处理的具体问题。

有了基本活动库的知识作铺垫,我们会在第5章尝试创建自定义活动。本章首先列举出了创建自定义活动的驱动力,随后提供了一个创建自定义活动的例程,并在具体开发过程中应用了2种方法:组合法和派生法。我们将会看到如何为自定义活动定制验证器和设计器,也将领略到使用依赖属性的优势所在。本章最后还要讲解活动的执行上下文,这对于开发出健壮的活动是必不可少的。

第6章讲述了工作流运行时、工作流诊断,以及由微软公司提供的一些开箱即用的WF服务。本章演示了如何使用声明和编程两种方法对服务进行配置。我们会通过一些例程学习如何使用调度服务、持久化服务和追踪服务。本章提供了足够多的有关WF服务的信息,这使得工作流开发者在面对多种不同应用场景和环境时都能够依照需求选择和配置出适合的服务。

第7章关注的是如何使用状态机构建事件驱动的工作流。我们会看到WF如何使用活动对传统的状态机进行建模,同时,我们将创建一个能够处理外部事件并驱动状态转换的工作流。我们还会看到如何对状态机的执行历史进行追踪和检验。本章最后部分对分层状态机进行了一番研究,掌握了这部分的知识,我们就可以处理事件驱动工作流中的一些棘手问题了。

第8章都是与工作流通信相关的内容。本章首先描述了通过相关本地服务与宿主进程通信的方法,随后说明了如何使用Web服务活动进行网络通信。最后,我们将了解到身处后台默默地为工作流协调和传送消息的队列服务。

最后的第9章会讲解WF中用到的规则与条件。这里讨论了业务规则在软件开发中的角色,随后提供了一个例程来说明WF的规则引擎如何能够减轻规则开发的工作量。本章对PolicyActivity中的规则执行进行了深入的说明,并记录了规则评估的诊断信息。在WF程序开发之旅的最后一程,我们将学习如何使用WF创建基于规则的解决方案。

章节链接:
【翻译习作】 Windows Workflow Foundation程序开发

【翻译习作】 Windows Workflow Foundation程序开发-前言的更多相关文章

  1. 【翻译习作】 Windows Workflow Foundation程序开发-第一章05

    1.3      开发我们的第一个工作流 也许你曾经在这样的产品经理手下搞过开发:他总是在你身边转悠,并不时的问一句“你还没做完吗?”.在这一部分,我们将用一个简单的Windows Workflow程 ...

  2. 【翻译习作】 Windows Workflow Foundation程序开发-第一章04

    1.2.3  Windows Workflow运行时 从Windows Workflow的角度看,可以将工作流活动当成是交给一个工作流处理器去执行的一系列指令或操作码.在Windows Workflo ...

  3. 【翻译习作】 Windows Workflow Foundation程序开发-第一章03

    1.2.2.Visual Studio 2005扩展包 微软也为Windows Workflow开发者提供了Visual Studio 2005扩展包.扩展包将许多功能集成到Visual Studio ...

  4. 【翻译习作】 Windows Workflow Foundation程序开发-第一章02

    1.2      Windows Workflow概览 微软的Windows Workflow Foundation(简称WF)是.NET框架3.0版的一部分..NET3.0其它主要部分是Window ...

  5. 【翻译习作】 Windows Workflow Foundation程序开发-第一章01

    第 1 章    欢迎来到工作流的世界 …思想如蝴蝶般飞到我身边 —— Gossard / Vedder (译注:Gossard与Vedder是来自Pearl Jam乐队的2名乐手,该句出自他们的歌曲 ...

  6. 【翻译习作】 Windows Workflow Foundation程序开发

    近期整理硬盘,把09年的翻译习作<Windows Workflow Foundation程序开发>找出来了.现在又把译文过了一遍,做了些修改,贴出来献丑了.原书是<Programmi ...

  7. 你还记得windows workflow foundation吗

    很多年前,windows workflow foundation还叫WWF,而直译过来的名称让很多人以为它就是用来开发工作流或者干脆就是审批流的. 博主当年还是个懵懂的少年,却也知道微软不会大力推一个 ...

  8. Workflow-Microsoft:Windows Workflow Foundation

    ylbtech-Workflow-Microsoft:Windows Workflow Foundation 1. Windows Workflow Foundation返回顶部 1.1. Windo ...

  9. 《WF in 24 Hours》读书笔记 - Hour 1 - Understanding Windows Workflow Foundation

    1.1 Hour 1 - Understanding Windows Workflow Foundation   1.1.1 What workflow is in general A workflo ...

随机推荐

  1. linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明

    加载内核驱动的通常流程: 1.先将.ko文件拷贝到/lib/module/`uname -r`(内核版本号)/kernel/driver/...目录下, 根据具体用途的区别分为net.ide.scsi ...

  2. Jedis 连接redis超时

    redis默认不允许远程连接 用vi打开Redis服务器的配置文件redis.conf ~ sudo vi /etc/redis/redis.conf #注释bind #bind 127.0.0.1 ...

  3. 关于List泛型的强制转换

    当我们从数据库中查询出一些数据,有时返回的结果可能是List<Object>类型,而我们清楚的知道它的准确类型是List<User>,可能我们想直接的去进行类型的转换,你可能会 ...

  4. [JS]setInterval,setTimeout的使用以及伪随机数

  5. 2016 Multi-University Training Contest 5 Divide the Sequence

    Divide the Sequence 题意: 给你一个序列A,问你最多能够分成多少个连续子序列,使得每个子序列的所有前缀和均不小于0 题解: 这题是比赛时候的水题,但我比的时候也就做出这一题, = ...

  6. js复习(一)

    一.常用数据框1.alert(""):警告对话框,作用是弹出一个警告对话框 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对话框--确定返回 ...

  7. Mongodb(1)如何存储以及简介

    在学习一个数据库之前应该了解这个数据库是如何存储的,是不是适合你所需要的存储方式. 如果上来就说命令,理解起来似乎有点麻烦. 不管学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是 ...

  8. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  9. iOS学习之UIActionSheet的使用

    UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件. 为了快速完成这例子,我们打开Xcode 4.3.2, 先建立一个single view applicatio ...

  10. 查看oracle SID

    源地址:http://blog.sina.com.cn/s/blog_5f20c4740100dodl.html SID就是数据库的实例 select instance_name from  V$in ...