Windows 工作流概述

工作流是一组称为 活动的 元素单元,这些单元存储为描述真实进程的模型。 工作流提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。 这项工作从头到尾通过模型,活动可能由人员或系统函数执行。

工作流运行时引擎

每个正在运行的工作流实例由进程内运行时引擎创建和维护,该引擎由主机进程通过下列其中一项进行交互:

上述每个类对表示为负责活动执行的 ActivityInstance 的核心活动运行时进行包装。 应用程序域中可以同时运行多个 ActivityInstance 对象。

上述三个主机交互对象中的每一个都是从称为工作流程序的活动树创建的。 使用这些类型或包装 ActivityInstance的自定义主机,可以在任何 Windows 进程中执行工作流,包括控制台应用程序、基于表单的应用程序、Windows 服务、ASP.NET 网站和 Windows Communication Foundation (WCF) 服务。

主机进程中的工作流组件
主机进程中的工作流组件

工作流组件之间的交互

下图演示了工作流组件如何相互交互。

显示工作流组件如何交互的关系图。

在上图中, Invoke 类的方法 WorkflowInvoker 用于调用多个工作流实例。 WorkflowInvoker 用于不需要从主机进行管理的轻型工作流;需要从主机进行管理的工作流(例如 Bookmark 恢复)必须改用 Run 。 在调用另一个工作流实例之前,无需等待一个工作流实例完成;运行时引擎支持同时运行多个工作流实例。 调用的工作流如下所示:

另请参阅