Windows Workflow Foundation 活动
Windows Workflow Foundation 包含一组默认活动,这些活动提供了有关控制流、条件、事件处理、状态管理以及与应用程序和服务通信的功能。 在设计工作流时,可以使用 Windows Workflow Foundation 提供的活动,并且可以创建自己的自定义活动。
活动是工作流的基本构造块。 工作流是一组以树状结构分层组织的活动。 活动表示工作流中的操作。 它可以是延迟之类的简单操作,也可以是由多个子活动组成的复合活动。
与工作流一样,活动可以是顺序的,这意味着其操作顺序在设计时指定。 活动也可以是事件驱动的,这意味着其操作顺序是在运行时为响应外部事件而确定的。
每个活动都有一个活动执行上下文,它表示活动的执行环境。 活动执行上下文类似于 HTTP 上下文:对象具有状态、一组参数以及它在给定时间点所独有的构造。 某些复合活动(如 ReplicatorActivity 活动和 WhileActivity 活动)会在执行期间创建其子活动的多个实例,每个子活动都有其自己的活动执行上下文作为其运行环境。有关活动执行上下文的更多信息,请参见了解活动执行上下文。
每个活动还会在其生存期内在各种状态之间进行转换。 某些转换是由工作流运行时引擎控制的,而其他转换则可由用户控制,例如将子活动从 Executing 转换为 Closed。 有关活动状态的更多信息,请参见了解活动状态模型。
下表列出了 Windows Workflow Foundation 基本活动库中的活动。
活动 | 说明 |
---|---|
与 HandleExternalEventActivity 活动一起使用,以实现与本地服务之间的输入和输出通信。 有关更多信息,请参见使用 CallExternalMethodActivity 活动。 |
|
用于包含在复合活动的所有子活动执行完毕之前取消的复合活动的清理逻辑。 有关更多信息,请参见使用 CancellationHandlerActivity 活动。 |
|
可用于向工作流中添加 Visual Basic 或 C# 代码。 有关更多信息,请参见使用 CodeActivity 活动。 |
|
SequenceActivity 的可补偿版本。 有关更多信息,请参见使用 CompensatableSequenceActivity 活动。 |
|
TransactionScopeActivity 的可补偿版本。 有关更多信息,请参见使用 CompensatableTransactionScopeActivity 活动。 |
|
可用来调用代码以撤消或补偿在发生错误时已由工作流执行的操作。 有关更多信息,请参见使用 CompensateActivity 活动。 |
|
为已完成的 TransactionScopeActivity 活动执行补偿的一个或多个活动的包装。 有关更多信息,请参见使用 CompensationHandlerActivity 活动。 |
|
根据应用于 ConditionedActivityGroup 活动本身的条件以及分别应用于每个子活动的条件来执行子活动。 有关更多信息,请参见使用 ConditionedActivityGroup 活动。 |
|
可用于在工作流中根据超时间隔建立延迟。 有关更多信息,请参见使用 DelayActivity 活动。 |
|
包装在指定事件发生时执行的一个或多个活动。 有关更多信息,请参见使用 EventDrivenActivity 活动。 |
|
提供一个用于将事件与活动关联的框架。 有关更多信息,请参见使用 EventHandlersActivity 活动。 |
|
将其主要子活动与 EventHandlersActivity 活动并发执行。 有关更多信息,请参见使用 EventHandlingScopeActivity 活动。 |
|
用于处理指定类型的异常。 有关更多信息,请参见使用 FaultHandlerActivity 活动。 |
|
表示一个复合活动,它有一个由类型为 FaultHandlerActivity 的子活动组成的有序列表。 有关更多信息,请参见使用 FaultHandlersActivity 活动。 |
|
与 CallExternalMethodActivity 活动一起使用以实现与本地服务之间的输入和输出通信。 有关更多信息,请参见使用 HandleExternalEventActivity 活动。 |
|
测试每个分支条件,在第一个条件为 true 的分支上执行活动。 有关更多信息,请参见使用 IfElseActivity 活动。 |
|
表示 IfElseActivity 活动的一个分支。 有关更多信息,请参见使用 IfElseBranchActivity 活动。 |
|
使工作流能够调用 Web 服务。 有关更多信息,请参见使用 InvokeWebServiceActivity 活动。 |
|
使工作流能够调用其他工作流。 有关更多信息,请参见使用 InvokeWorkflowActivity 活动。 |
|
只包含 EventDrivenActivity 子活动的复合活动。 有关更多信息,请参见使用 ListenActivity 活动。 |
|
用于计划将两个或更多个 SequenceActivity 子活动分支同时进行处理。 有关更多信息,请参见使用 ParallelActivity 活动。 |
|
用于表示一个规则集合。 规则由条件和引起的操作组成。 有关更多信息,请参见使用 PolicyActivity 活动。 |
|
创建单个子活动的多个实例。 有关更多信息,请参见使用 ReplicatorActivity 活动。 |
|
提供一种将多个活动链接在一起以顺序执行的简单方法。 有关更多信息,请参见使用 SequenceActivity 活动。 |
|
指定到新状态的转换。 有关更多信息,请参见使用 SetStateActivity 活动。 |
|
表示状态机工作流中的一个状态。 有关更多信息,请参见使用 StateActivity 活动。 |
|
在 StateActivity 活动中用作容器,以容纳在离开 StateActivity 活动时执行的子活动。 有关更多信息,请参见使用 StateFinalizationActivity 活动。 |
|
在 StateActivity 活动中用作容器,以容纳在进入 StateActivity 活动时执行的子活动。 有关更多信息,请参见使用 StateInitializationActivity 活动。 |
|
挂起工作流的操作,以便能够在出现某种需要特别注意的错误情况时进行干预。 有关更多信息,请参见使用 SuspendActivity 活动。 |
|
在同步域中按顺序执行所包含的活动。 有关更多信息,请参见使用 SynchronizationScopeActivity 活动。 |
|
可用于在发生错误情况时立即结束工作流的操作。 有关更多信息,请参见使用 TerminateActivity 活动。 |
|
可用于捕获作为工作流的过程元数据的一部分引发的业务异常。 有关更多信息,请参见使用 ThrowActivity 活动。 |
|
提供一个用于事务和异常处理的框架。 有关更多信息,请参见使用 TransactionScopeActivity 活动。 |
|
用于对 Web 服务错误的发生进行建模。 有关更多信息,请参见使用 WebServiceFaultActivity 活动。 |
|
接收来自 Web 服务的数据。 有关更多信息,请参见使用 WebServiceInputActivity 活动。 |
|
响应对工作流发出的 Web 服务请求。 有关更多信息,请参见使用 WebServiceOutputActivity 活动。 |
|
使工作流能够在条件得到满足之前进行循环。 有关更多信息,请参见使用 WhileActivity 活动。 |
有关如何创建自己的活动的信息,请参见开发工作流活动。
本节内容
使用 CallExternalMethodActivity 活动
使用 CancellationHandlerActivity 活动
使用 CompensatableSequenceActivity 活动
使用 CompensatableTransactionScopeActivity 活动
使用 CompensationHandlerActivity 活动
使用 ConditionedActivityGroup 活动
使用 EventHandlingScopeActivity 活动
使用 HandleExternalEventActivity 活动
使用 InvokeWebServiceActivity 活动
使用 StateFinalizationActivity 活动
使用 StateInitializationActivity 活动
使用 SynchronizationScopeActivity 活动
使用 TransactionScopeActivity 活动
使用 WebServiceOutputActivity 活动
参考
System.Workflow.ComponentModel
相关章节
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。