出版时间:2009 出版社:人民邮电出版社 作者:Bruce Bukovics 页数:687 字数:1236000 译者:柴晓伟
Tag标签:无
前言
我开始应用微软新的WinFX技术时,该技术还处于beta版和CTP(Community Technology Preview,社区技术预览)版阶段。这些基础结构开始时称作WinFX(包含Windows Presentation、WindowsCommunication和Windows Workflow),在2006年11月它们作为.NETFramework3.O的一部分正式发布。实际上,我在日常工作中开始学习并使用这3个基础结构也是从那时开始的。下面就来谈谈我的不平凡的学习过程。WPF(Windows Presentation Foundation)和WCF(Windows Communication Foundaion)所具有的灵活性及其功能给我留下了深刻的印象,同时,WF(Windows Workflow Foundation)也有点莫名地吸引我。WF并不仅仅是实现用户界面的新方法,也不仅仅是在应用程序和服务之间通信的新方法,而是一种体现了开发应用程序的全新方式。它是可声明、可视化且无限灵活的,其倡导的模型可以清晰地将工作内容和工作时间分隔开来。这种分隔允许你改变工作流模型(工作时间),而不会影响到工作內容。可将业务逻辑实现为一组独立并且可测试的组件,它们能像构建块一样装配到工作流中。工作流并不是新概念。但是当微软公司花费了数年开发工作流基础结构并免费提供给我们时,这便值得我们去关注了。相比于其他工作流框架,WF实际上是Windows应用程序的标准工作流框架。工作流(特别是WF)让我很振奋,所以我编写了本书的第1版。我也很振奋于它为和我一样的应用程序开发人员提供的各种机会。直到今天我仍然十分振奋,特别是在.NET.Framework3.5发布之后。在这个版本中,微软公司为WF提供了更多的增强功能——尤其是对工作流服务的支持(工作流服务其实就是以工作流的方式实现的WCF服务)。我衷心希望,你读过本书之后也能够使用WF.来构建令人振奋的新一代实用的工作流应用程序。本书读者本书面向所有想要学习如何在自己的应用程序中使用WF的.NET开发人员。它不是.NET或C#语言的入门读物。想要更深刻地理解本书的示例,你需要良好的.NET 1.1知识(.NET 2.0更好)。本书所有的示例都采用C#编写,所以你需要通晓C#。Visual Studi02008已经内置了对WF的支持。我使用它来生成本书中的示例和图示,也推荐你采用它作为开发平台。在本书的示例代码中,我会使用一些省时的C#3.0新特性,比如自动实现属性等。所以,如果你熟悉C#3.0的新功能,将会对你理解这些示例非常有帮助。
内容概要
本书全面介绍了WF高级程序设计。WF不仅是实现用户界面的新方法,也是在应用程序和服务之间通信的新方法,更是一种体现了开发应用程序的全新方式。全书围绕如何在应用程序中整合WF展开讨论,主要涵盖WF基础知识、承载工作流运行时、流控制、本地服务、工作流持久性,状态机工作流、异常和错误处理、动态工作流更新,以及在Web服务和ASP.NET开发中使用工作流等内容。另外,本书示例丰富,最大程度地阐明了使用WF技术所需要掌握的方方面面。 本书适合希望在自己的应用程序中使用WF的所有.NET开发人员。
作者简介
Bruce Bukovics Radiant系统公司核心开发团队的首席开发人员和架构师,拥有近30年网络开发经验,精通C、C++、Delphi、VB、C#和Java等多种编程 语言,亲身经历了从COM到COM+,以及从Web服务到.NET远程处理等技术的改革浪潮。
书籍目录
第1章 WF快速入门 1.1 为什么需要工作流 1.2 开发环境 1.3 Hello Workflow 1.4 传递参数 1.5 作出决策 1.6 小结 第2章 基础结构概述 2.1 工作流类型 2.2 基础结构交付项 2.3 运行时环境 2.4 设计时环境 2.5 小结 第3章 活动 3.1 理解活动 3.2 探讨标准活动 3.3 标准活动摘要 3.4 添加工作流逻辑 3.5 使用CodeActivity 3.6 开发自定义活动 3.7 增强设计体验 3.8 小结 第4章 承载工作流运行时 4.1 承载概述 4.2 简单的工作流承载 4.3 改进的工作流承载 4.4 控制工作流实例 4.5 同步的工作流执行 4.6 小结 第5章 流控制 5.1 条件类型 5.2 使用IfElseActivity 5.3 使用WhileActivity 5.4 使用ParallelActivity 5.5 使用ReplicatorActivity 5.6 使用ConditionedActivityGroup 5.7 使用InvokeWorkflowActivity 5.8 使用TerminateActivity 5.9 使用SuspendActivity 5.10 小结 第6章 本地服务 6.1 了解本地服务 6.2 实现并使用本地服务 6.3 从App.config加载 6.4 使用自定义活动 6.5 使用CallExternalMethodActivity 6.6 小结 第7章 事件驱动活动 7.1 使用事件驱动活动 7.2 使用HandleExternalEventActivity 7.3 生成通信活动 7.4 手动控制关联 7.5 使用EventHandlingScopeActivity 7.6 开发自定义事件驱动活动 7.7 小结 第8章 工作流持久性 8.1 了解持久性 8.2 使用SqlWorkflowPersistenceService 8.3 实现自定义持久性服务 8.4 小结 第9章 状态机工作流 9.1 了解状态机 9.2 实现状态机工作流 9.3 消除重复的事件处理程序 9.4 标识现有事件 9.5 访问工作流运行时信息 9.6 小结 第10章 事务和补偿 10.1 事务 10.2 使用TransactionScopeActivity 10.3 了解补偿 10.4 使用可补偿活动 10.5 参与工作批次 10.6 使用IPendingWork接口 10.7 小结 第11章 工作流规则 11.1 了解工作流规则 11.2 在WF中使用规则 11.3 使用PolicyActivity来定义规则 11.4 跟踪规则 11.5 调整规则顺序 11.6 在规则中使用方法 11.7 在代码中执行规则集 11.8 在代码中构造规则集 11.9 小结 第12章 异常和错误处理 12.1 理解工作流异常处理 12.2 探讨默认行为 12.3 使用FaultHandlerActivity 12.4 抑制异常 12.5 重新抛出异常 12.6 补偿和异常 12.7 使用CancellationHandlerActivity 12.8 小结 第13章 高级自定义活动 13.1 开发专用的复合活动 13.2 开发通用的复合活动 13.3 开发优先级顺序活动 13.4 开发长时间运行的活动 13.5 小结 第14章 动态工作流更新 14.1 了解动态更新 14.2 从宿主应用程序中应用更新 14.3 限制动态更新 14.4 从工作流中应用更新 14.5 更新规则条件 14.6 替换规则条件 14.7 小结 第15章 工作流跟踪 15.1 了解工作流跟踪 15.2 使用SqlTrackingService 15.3 创建用户跟踪点 15.4 跟踪规则计算 15.5 使用自定义跟踪配置提取数据 15.6 维护SQL跟踪数据库 15.7 开发跟踪服务 15.8 小结 第16章 Web服务和ASP.NET 16.1 将工作流发布为Web服务 16.2 开发Web服务工作流 16.3 返回Web服务错误 16.4 开发状态化的Web服务 16.5 在工作流中调用Web服务 16.6 在ASP.NET中使用工作流 16.7 小结 第17章 工作流服务和WCF集成 17.1 了解WCF 17.2 了解工作流服务 17.3 开发无状态的工作流服务 17.4 IIS承载和客户端开发 17.5 自承载的工作流服务 17.6 定义工作流优先的服务 17.7 开发状态化的工作流服务 17.8 使用SendActivity 17.9 上下文和对话 17.10 小结 第18章 工作流序列化和标记 18.1 了解工作流创作模式 18.2 开发仅限代码工作流 18.3 开发代码分离工作流 18.4 开发无代码工作流 18.5 在无代码工作流中使用规则 18.6 序列化到标记 18.7 编译工作流 18.8 编译包含规则的工作流 18.9 在命令行中编译 18.10 反序列化标记 18.11 小结 第19章 承载工作流设计器 19.1 工作流设计器 19.2 构建设计器应用程序 19.3 使用设计器 19.4 小结
章节摘录
插图:基础结构概述本章旨在为读者提供WF的全面概述,包括WF伪各个部分以及它们如何协同工作。因为本章的重点是概述,所以不会包含大量工作流代码。随着后续章节逐步深入WF,你就会想参考本章来查阅这些单独的功能都适合于哪些相关应用场合。本章先来讨论工作流的两种主要类型:顺序和状态机.接下来讨论wF提供的主要组件,也就是将wF安装到开发机器上之后可用的特性,包括wF类库、工作流运行时引擎、工作流运行时服务和工作流设计时工具。本章剩余的部分会分别讨论运行时和设计时的功能。首先,讨论工作流运行时环境和运行时使用的主要WF组件。使用wF时,你的职责之一是提供宿主应用程序。宿主应用程序的需求会在讨论工作流运行时引擎时一起分析。WF允许你通过加载核心服务的备用实现来更改其默认行为。也可实现和注册带有工作流运行时的本地服务。这些类型的服务都会在本章讨论。这一部分的最后会讨论工作流实例。接下来的内容是设计时环境。这部分内容会介绍用来开发工作流应用程序的工具。在这一部分中,首先讨论wF内置的工作流设计器,然后介绍工作流创作模式和项目模板。2.1 工作流类型本节会讨论WF支持的两种工作流类型:顺序和状态机。2.1.1 顺序工作流顺序工作流声明了一组按照预定顺序执行的步骤。在工作流内,控制流使用了常见的结构来定义,例如if-else和while循环。图2-1使用了简单的流程图来描述顺序工作流的行为。为了说明顺序工作流,图2.1使用了一个经常在银行或其他金融机构出现的销户示例。这个工作流清晰地定义了每个步骤和它们的顺序。虽然工作流包含分支,但所有可能的路线都清楚明了。工作流还定义了开始点和结束点,而且必须从开始点开始执行,不能任意跳到工作流中间的点。
媒体关注与评论
“若想了解WF,本书是必读之物。本书涉及面之广,所讲内容之深,是同类书籍所无法企及的。强烈推荐给每一位想了解WF的人,它真的很棒!” ——Amazon.com
编辑推荐
《WF高级程序设计》是一场高级程序设计的丰盛大宴;深入WF精髓,满足你无限的求知欲;分析透彻的丰富示例,手把手教你设计绝活。WF作为.NET的一部分.是微软为开发人员提供的强大工作流开发框架.它更代表了一种开发应用程序的全新模式。它可以清晰地将工作内容和工作时间分隔开来,使你改变工作流模型而不会影响到工作内容。《WF高级程序设计》被誉为不可多得的经典之作,内容全面,结构合理,各章彼此连贯又可独立阅读,极具灵活性。书中丰富的代码实例,深入浅出地阐明了使用WF技术所需要理解和掌握的技术细节。
图书封面
图书标签Tags
无
评论、评分、阅读与下载