使用 StateActivity 活动

状态机工作流中的主要组件是 StateActivity 活动。 在状态机工作流中的不同位置捕获了事件时,将会进入不同的状态,以处理与这些事件关联的任务。 在工作流的生存期内,工作流可能会离开和进入若干不同的状态。 这些状态通过使用 SetStateActivity 活动互相连接。

您将新 StateActivity 活动插入工作流时,可以添加 EventDrivenActivity 活动、StateInitializationActivity 活动、StateFinalizationActivity 活动或其他 StateActivity 实例作为子级。 StateActivity 活动依赖于外部事件发生时,使用 EventDrivenActivity 活动,然后才能执行前一个活动的子活动。

如果多次执行同一个子活动,则在每次迭代时都会创建该活动的一个单独实例。 这使得实例可以独立执行(对于 ReplicatorActivity 活动,可能会以并行方式执行实例)。 因此,活动树(称为模板)中的子活动的定义永远不会执行,并总是处于 Initialized 状态。 对模板的运行实例的访问由作为模板父级的复合活动提供。 例如,对于 StateActivity 活动而言,总是存在一个活动的实例,并且 GetDynamicActivity 方法会检索该实例。

StateInitializationActivity 活动是进入包含 StateActivity 活动时执行的活动的容器。 StateFinalizationActivity 活动是离开 StateActivity 活动时执行的子活动的容器。

有关更多信息,请参见 Windows Workflow Foundation 类库参考中的 System.Workflow.Activities 命名空间中的 StateActivity 类。

有关演示如何使用 StateActivity 活动的代码示例,请参见Simple State Machine

请参见

参考

StateActivity
SetStateActivity
EventDrivenActivity
StateInitializationActivity
StateFinalizationActivity

概念

状态机工作流
使用 EventDrivenActivity 活动
使用 StateInitializationActivity 活动
使用 StateFinalizationActivity 活动
使用 SetStateActivity 活动

其他资源

Simple State Machine Sample
Windows Workflow Foundation 活动

Footer image

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