Windows Workflow Foundation 活动

Windows Workflow Foundation 包含一组默认活动,这些活动提供了有关控制流、条件、事件处理、状态管理以及与应用程序和服务通信的功能。 在设计工作流时,可以使用 Windows Workflow Foundation 提供的活动,并且可以创建自己的自定义活动。

活动是工作流的基本构造块。 工作流是一组以树状结构分层组织的活动。 活动表示工作流中的操作。 它可以是延迟之类的简单操作,也可以是由多个子活动组成的复合活动。

与工作流一样,活动可以是顺序的,这意味着其操作顺序在设计时指定。 活动也可以是事件驱动的,这意味着其操作顺序是在运行时为响应外部事件而确定的。

每个活动都有一个活动执行上下文,它表示活动的执行环境。 活动执行上下文类似于 HTTP 上下文:对象具有状态、一组参数以及它在给定时间点所独有的构造。 某些复合活动(如 ReplicatorActivity 活动和 WhileActivity 活动)会在执行期间创建其子活动的多个实例,每个子活动都有其自己的活动执行上下文作为其运行环境。有关活动执行上下文的更多信息,请参见了解活动执行上下文

每个活动还会在其生存期内在各种状态之间进行转换。 某些转换是由工作流运行时引擎控制的,而其他转换则可由用户控制,例如将子活动从 Executing 转换为 Closed。 有关活动状态的更多信息,请参见了解活动状态模型

下表列出了 Windows Workflow Foundation 基本活动库中的活动。

活动 说明

CallExternalMethodActivity

HandleExternalEventActivity 活动一起使用,以实现与本地服务之间的输入和输出通信。 有关更多信息,请参见使用 CallExternalMethodActivity 活动

CancellationHandlerActivity

用于包含在复合活动的所有子活动执行完毕之前取消的复合活动的清理逻辑。 有关更多信息,请参见使用 CancellationHandlerActivity 活动

CodeActivity

可用于向工作流中添加 Visual Basic 或 C# 代码。 有关更多信息,请参见使用 CodeActivity 活动

CompensatableSequenceActivity

SequenceActivity 的可补偿版本。 有关更多信息,请参见使用 CompensatableSequenceActivity 活动

CompensatableTransactionScopeActivity

TransactionScopeActivity 的可补偿版本。 有关更多信息,请参见使用 CompensatableTransactionScopeActivity 活动

CompensateActivity

可用来调用代码以撤消或补偿在发生错误时已由工作流执行的操作。 有关更多信息,请参见使用 CompensateActivity 活动

CompensationHandlerActivity

为已完成的 TransactionScopeActivity 活动执行补偿的一个或多个活动的包装。 有关更多信息,请参见使用 CompensationHandlerActivity 活动

ConditionedActivityGroup

根据应用于 ConditionedActivityGroup 活动本身的条件以及分别应用于每个子活动的条件来执行子活动。 有关更多信息,请参见使用 ConditionedActivityGroup 活动

DelayActivity

可用于在工作流中根据超时间隔建立延迟。 有关更多信息,请参见使用 DelayActivity 活动

EventDrivenActivity

包装在指定事件发生时执行的一个或多个活动。 有关更多信息,请参见使用 EventDrivenActivity 活动

EventHandlersActivity

提供一个用于将事件与活动关联的框架。 有关更多信息,请参见使用 EventHandlersActivity 活动

EventHandlingScopeActivity

将其主要子活动与 EventHandlersActivity 活动并发执行。 有关更多信息,请参见使用 EventHandlingScopeActivity 活动

FaultHandlerActivity

用于处理指定类型的异常。 有关更多信息,请参见使用 FaultHandlerActivity 活动

FaultHandlersActivity

表示一个复合活动,它有一个由类型为 FaultHandlerActivity 的子活动组成的有序列表。 有关更多信息,请参见使用 FaultHandlersActivity 活动

HandleExternalEventActivity

CallExternalMethodActivity 活动一起使用以实现与本地服务之间的输入和输出通信。 有关更多信息,请参见使用 HandleExternalEventActivity 活动

IfElseActivity

测试每个分支条件,在第一个条件为 true 的分支上执行活动。 有关更多信息,请参见使用 IfElseActivity 活动

IfElseBranchActivity

表示 IfElseActivity 活动的一个分支。 有关更多信息,请参见使用 IfElseBranchActivity 活动

InvokeWebServiceActivity

使工作流能够调用 Web 服务。 有关更多信息,请参见使用 InvokeWebServiceActivity 活动

InvokeWorkflowActivity

使工作流能够调用其他工作流。 有关更多信息,请参见使用 InvokeWorkflowActivity 活动

ListenActivity

只包含 EventDrivenActivity 子活动的复合活动。 有关更多信息,请参见使用 ListenActivity 活动

ParallelActivity

用于计划将两个或更多个 SequenceActivity 子活动分支同时进行处理。 有关更多信息,请参见使用 ParallelActivity 活动

PolicyActivity

用于表示一个规则集合。 规则由条件和引起的操作组成。 有关更多信息,请参见使用 PolicyActivity 活动

ReplicatorActivity

创建单个子活动的多个实例。 有关更多信息,请参见使用 ReplicatorActivity 活动

SequenceActivity

提供一种将多个活动链接在一起以顺序执行的简单方法。 有关更多信息,请参见使用 SequenceActivity 活动

SetStateActivity

指定到新状态的转换。 有关更多信息,请参见使用 SetStateActivity 活动

StateActivity

表示状态机工作流中的一个状态。 有关更多信息,请参见使用 StateActivity 活动

StateFinalizationActivity

StateActivity 活动中用作容器,以容纳在离开 StateActivity 活动时执行的子活动。 有关更多信息,请参见使用 StateFinalizationActivity 活动

StateInitializationActivity

StateActivity 活动中用作容器,以容纳在进入 StateActivity 活动时执行的子活动。 有关更多信息,请参见使用 StateInitializationActivity 活动

SuspendActivity

挂起工作流的操作,以便能够在出现某种需要特别注意的错误情况时进行干预。 有关更多信息,请参见使用 SuspendActivity 活动

SynchronizationScopeActivity

在同步域中按顺序执行所包含的活动。 有关更多信息,请参见使用 SynchronizationScopeActivity 活动

TerminateActivity

可用于在发生错误情况时立即结束工作流的操作。 有关更多信息,请参见使用 TerminateActivity 活动

ThrowActivity

可用于捕获作为工作流的过程元数据的一部分引发的业务异常。 有关更多信息,请参见使用 ThrowActivity 活动

TransactionScopeActivity

提供一个用于事务和异常处理的框架。 有关更多信息,请参见使用 TransactionScopeActivity 活动

WebServiceFaultActivity

用于对 Web 服务错误的发生进行建模。 有关更多信息,请参见使用 WebServiceFaultActivity 活动

WebServiceInputActivity

接收来自 Web 服务的数据。 有关更多信息,请参见使用 WebServiceInputActivity 活动

WebServiceOutputActivity

响应对工作流发出的 Web 服务请求。 有关更多信息,请参见使用 WebServiceOutputActivity 活动

WhileActivity

使工作流能够在条件得到满足之前进行循环。 有关更多信息,请参见使用 WhileActivity 活动

有关如何创建自己的活动的信息,请参见开发工作流活动

本节内容

了解活动执行上下文

了解活动状态模型

使用 CallExternalMethodActivity 活动

使用 CancellationHandlerActivity 活动

使用 CodeActivity 活动

使用 CompensatableSequenceActivity 活动

使用 CompensatableTransactionScopeActivity 活动

使用 CompensateActivity 活动

使用 CompensationHandlerActivity 活动

使用 ConditionedActivityGroup 活动

使用 DelayActivity 活动

使用 EventDrivenActivity 活动

使用 EventHandlersActivity 活动

使用 EventHandlingScopeActivity 活动

使用 FaultHandlerActivity 活动

使用 FaultHandlersActivity 活动

使用 HandleExternalEventActivity 活动

使用 IfElseActivity 活动

使用 IfElseBranchActivity 活动

使用 InvokeWebServiceActivity 活动

使用 InvokeWorkflowActivity 活动

使用 ListenActivity 活动

使用 ParallelActivity 活动

使用 PolicyActivity 活动

使用 ReplicatorActivity 活动

使用 SequenceActivity 活动

使用 SetStateActivity 活动

使用 StateActivity 活动

使用 StateFinalizationActivity 活动

使用 StateInitializationActivity 活动

使用 SuspendActivity 活动

使用 SynchronizationScopeActivity 活动

使用 TerminateActivity 活动

使用 ThrowActivity 活动

使用 TransactionScopeActivity 活动

使用 WebServiceFaultActivity 活动

使用 WebServiceInputActivity 活动

使用 WebServiceOutputActivity 活动

使用 WhileActivity 活动

参考

System.Workflow.Activities

System.Workflow.ComponentModel

相关章节

开发工作流活动

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。