StateMachineWorkflowActivity 类

定义

注意

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

用作状态机工作流的根容器。 包含事件驱动的活动和状态。

public ref class StateMachineWorkflowActivity : System::Workflow::Activities::StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
Public Class StateMachineWorkflowActivity
Inherits StateActivity
继承
属性

示例

下面的代码示例演示如何创建 StateMachineWorkflowActivity 类的新实例,并使用该实例实现一个能够在三种状态间转换的基本状态机。 此代码示例摘自 StateMachineWorkflow.cs 文件中的“SimpleStateMachineWorkflow”SDK 示例。 有关详细信息,请参阅 简单状态机

this.WhileLoop = new System.Workflow.Activities.WhileActivity();
this.Parallel = new System.Workflow.Activities.ParallelActivity();
this.Sequence1 = new System.Workflow.Activities.SequenceActivity();
this.Sequence2 = new System.Workflow.Activities.SequenceActivity();
this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
//
// WhileLoop
//
this.WhileLoop.Activities.Add(this.Parallel);
codecondition1.Condition += new System.EventHandler<System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
this.WhileLoop.Condition = codecondition1;
this.WhileLoop.Name = "WhileLoop";
//
// Parallel
//
this.Parallel.Activities.Add(this.Sequence1);
this.Parallel.Activities.Add(this.Sequence2);
this.Parallel.Name = "Parallel";
Me.WhileLoop = New System.Workflow.Activities.WhileActivity()
Me.Parallel = New System.Workflow.Activities.ParallelActivity()
Me.Sequence1 = New System.Workflow.Activities.SequenceActivity()
Me.Sequence2 = New System.Workflow.Activities.SequenceActivity()
Me.ConsoleMessage1 = New System.Workflow.Activities.CodeActivity()
Me.ConsoleMessage2 = New System.Workflow.Activities.CodeActivity()
' 
' WhileLoop
' 
Me.WhileLoop.Activities.Add(Me.Parallel)
AddHandler codecondition1.Condition, AddressOf Me.WhileCondition
Me.WhileLoop.Condition = codecondition1
Me.WhileLoop.Name = "WhileLoop"
' 
' Parallel
' 
Me.Parallel.Activities.Add(Me.Sequence1)
Me.Parallel.Activities.Add(Me.Sequence2)
Me.Parallel.Name = "Parallel"

注解

注意

本材料讨论的类型和命名空间已废弃不用。 有关详细信息,请参阅 Windows Workflow Foundation 4.5 中弃用的类型

StateMachineWorkflowActivity 是一个活动容器,用于创建遵循状态机模型的工作流。

StateMachineWorkflowActivity 是一种 CompositeActivity,这意味着 StateMachineWorkflowActivity 可以包含其他活动。 StateMachineWorkflowActivityEventDrivenActivity 活动是 StateMachineWorkflowActivity 的仅允许的子活动。 允许 EventDrivenActivity 活动是因为根活动本身类似于状态。 因此,可以使位于根级别的 EventDrivenActivity 活动由 StateMachineWorkflowActivity 中的所有状态活动使用。 位于此级别的 EventDrivenActivity 动提供一种处理工作流事件的全局机制,并可以自动执行状态转换。 StateActivity 活动提供一种定义模型中不同阶段的机制。

StateMachineWorkflowActivity 具有执行状态机工作流所需的属性。 最值得注意的是,StateMachineWorkflowActivity 具有两个重要的属性:InitialStateNamePropertyCompletedStateNameProperty

状态机的 InitialStateNameProperty 是创建状态机的实例时状态机所处的状态。 InitialStateNameProperty 属性是强制的,并且必须在创建 StateMachineWorkflowActivity 时提供。 状态机的 InitialStateNameProperty 类似于状态机中包含的任何其他状态活动。 状态活动可以是 StateMachineWorkflowActivity 根活动的直接子活动,一个 StateMachineWorkflowActivity 只能有一个 InitialStateNameProperty

CompletedStateNamePropertyStateMachineWorkflowActivity 是指定为 StateActivity 的最终状态的 StateMachineWorkflowActivity 活动。 在转换到 CompletedStateNameProperty 时,工作流执行完成。 CompletedStateNameProperty 不是强制的。 这意味可以有未完成的 StateMachineWorkflowActivity。 这并不意味着状态机总是在内存中处于活动状态。 StateMachineWorkflowActivity 可能会在它等待事件时被卸载。

在处理长时间运行的业务事务(如供应商接收采购订单)时,始终不会完成的 StateMachineWorkflowActivity 活动尤其有用。 完成订单并不意味着采购订单过程结束。 在完成后,采购订单中的部分商品可能会返回,也可能会修改订单或将额外项目添加到采购订单。 有时为了法律或其他目的,可能需要长时间保留采购订单记录。 工作流未完成仅意味着工作流保持在卸载状态。 可能有退出工作流的情况,这意味着在一段时间以后,可能会强制关闭工作流实例。

构造函数

StateMachineWorkflowActivity()
已过时.

初始化 StateMachineWorkflowActivity 类的新实例。

StateMachineWorkflowActivity(String)
已过时.

使用活动名初始化 StateMachineWorkflowActivity 类的新实例。

字段

CompletedStateNameProperty
已过时.

表示针对 DependencyObject 属性的 CompletedStateName

InitialStateNameProperty
已过时.

表示针对 DependencyObject 属性的 InitialStateName

SetStateQueueName
已过时.

用于更改 WorkflowQueue 状态的 StateMachineWorkflowActivity 的名称。 此字段为常数。

StateChangeTrackingDataKey
已过时.

包含更改跟踪数据键的字符串值:“StateActivity.StateChange”。 此字段为常数。

(继承自 StateActivity)

属性

Activities
已过时.

获取表示所有子活动的集合 ActivityCollection 的对象。

(继承自 CompositeActivity)
CanModifyActivities
已过时.

获取或设置一个值,该值控制是否可以修改 Activities 中的单个活动。

(继承自 CompositeActivity)
CompletedStateName
已过时.

获取或设置工作流的最终 StateActivity

CurrentStateName
已过时.

获取当前正在执行的 StateActivity 的名称。

Description
已过时.

获取或设置 Activity 的用户定义说明。

(继承自 Activity)
DesignMode
已过时.

获取一个值,该值指示此实例是处于设计模式还是运行时模式。

(继承自 DependencyObject)
DynamicUpdateCondition
已过时.

在派生类中被重写时,获取或设置确定是否可以在工作流中进行动态更新的 ActivityCondition

Enabled
已过时.

获取或设置一个值,该值指示是否启用此实例以供执行和验证。

(继承自 Activity)
EnabledActivities
已过时.

获取表示已启用的 Activities 的子集的只读集合。

(继承自 CompositeActivity)
ExecutionResult
已过时.

获取最后一次尝试运行此实例产生的 ActivityExecutionResult

(继承自 Activity)
ExecutionStatus
已过时.

获取此实例的当前 ActivityExecutionStatus

(继承自 Activity)
InitialStateName
已过时.

获取或设置创建状态机的实例时 StateActivity 所处的 StateMachineWorkflowActivity

IsDynamicActivity
已过时.

获取有关活动是否在工作流实例的默认 ActivityExecutionContext 中执行的信息。

(继承自 Activity)
Name
已过时.

获取或设置此实例的名称。 此名称必须符合工作流项目中使用的编程语言的变量命名规则。

(继承自 Activity)
Parent
已过时.

获取包含此 CompositeActivityActivity

(继承自 Activity)
ParentDependencyObject
已过时.

获取 DependencyObject 图中的父 DependencyObject

(继承自 DependencyObject)
PreviousStateName
已过时.

获取上次执行的 StateActivity 的名称。

QualifiedName
已过时.

获取活动的限定名。 活动的限定名在工作流实例中始终是唯一的。

(继承自 Activity)
Site
已过时.

获取或设置对 SiteDependencyObject 组件的引用。

(继承自 DependencyObject)
UserData
已过时.

获取一个 IDictionary,它将自定义数据与此类实例关联。

(继承自 DependencyObject)
WorkflowInstanceId
已过时.

获取与实例关联的 Guid

(继承自 Activity)

方法

AddHandler(DependencyProperty, Object)
已过时.

DependencyObject 的事件添加处理程序。

(继承自 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
已过时.

将参数中的 WorkflowChanges 清单应用到此实例。

(继承自 CompositeActivity)
Cancel(ActivityExecutionContext)
已过时.

取消执行 StateActivity

(继承自 StateActivity)
Clone()
已过时.

创建 Activity 的深层副本。

(继承自 Activity)
Dispose()
已过时.

释放由 DependencyObject 占用的所有资源。

(继承自 DependencyObject)
Dispose(Boolean)
已过时.

在此实例上调用 Dispose(Boolean),并可以选择在此实例的所有子活动上调用 Dispose()

(继承自 CompositeActivity)
Equals(Object)
已过时.

确定指定对象是否等于当前对象。

(继承自 Object)
Execute(ActivityExecutionContext)
已过时.

执行 StateActivity

(继承自 StateActivity)
GetActivityByName(String)
已过时.

返回 Activity 的实例,其名称由此实例的根活动下(即在工作流中)运行的所有活动的集请求。

(继承自 Activity)
GetActivityByName(String, Boolean)
已过时.

返回 Activity 的实例,其名称被此实例的根 Activity 下的所有活动的集(如果第二个参数为 false)和当前 Activity 下的所有活动的集(如果第二个参数为 true)请求。

(继承自 Activity)
GetBinding(DependencyProperty)
已过时.

提供对与特定 ActivityBind 关联的 DependencyProperty 的访问。

(继承自 DependencyObject)
GetBoundValue(ActivityBind, Type)
已过时.

检索作为 Object 的主题的 ActivityBind

(继承自 DependencyObject)
GetDynamicActivities(Activity)
已过时.

返回包含指定活动的所有当前正在执行的实例的数组。

(继承自 CompositeActivity)
GetDynamicActivity(String)
已过时.

获取 Activity 的与指定子活动名称相对应的正在执行的实例。

(继承自 StateActivity)
GetHashCode()
已过时.

作为默认哈希函数。

(继承自 Object)
GetInvocationList<T>(DependencyProperty)
已过时.

获取一个数组,其中包含指定的 DependencyProperty 的委托。

(继承自 DependencyObject)
GetType()
已过时.

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)
已过时.

提供对指定的 DependencyProperty 的值的访问。

(继承自 DependencyObject)
GetValueBase(DependencyProperty)
已过时.

提供对 DependencyProperty 的绑定对象的访问,并跳过 GetValue(DependencyProperty) 重写。

(继承自 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
已过时.

此实例的执行上下文中引发了异常时调用。

(继承自 CompositeActivity)
Initialize(IServiceProvider)
已过时.

使用服务提供程序初始化 StateActivity

(继承自 StateActivity)
InitializeProperties()
已过时.

在派生类中重写时,对依赖属性执行初始化。

(继承自 DependencyObject)
Invoke<T>(EventHandler<T>, T)
已过时.

订阅 EventHandler 并调用该委托。

(继承自 Activity)
Invoke<T>(IActivityEventListener<T>, T)
已过时.

订阅 IActivityEventListener<T> 并调用该委托。

(继承自 Activity)
IsBindingSet(DependencyProperty)
已过时.

指示 DependencyProperty 的值是否设置为绑定。 请参阅 SetBinding(DependencyProperty, ActivityBind)

(继承自 DependencyObject)
MemberwiseClone()
已过时.

创建当前 Object 的浅表副本。

(继承自 Object)
MetaEquals(DependencyObject)
已过时.

确定此 metapropertiesDependencyObject 是否等于参数化的 metapropertiesDependencyObject

(继承自 DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)
已过时.

确定正在添加的活动是否为 EventDrivenActivity,如果是,则验证是否需要订阅新添加的事件驱动。

(继承自 StateActivity)
OnActivityChangeRemove(ActivityExecutionContext, Activity)
已过时.

移除活动时调用。

(继承自 CompositeActivity)
OnActivityExecutionContextLoad(IServiceProvider)
已过时.

每次加载此活动的 ActivityExecutionContext 时由工作流运行时引擎调用。

(继承自 CompositeActivity)
OnActivityExecutionContextUnload(IServiceProvider)
已过时.

每次卸载此活动的 ActivityExecutionContext 时由工作流运行时引擎调用。

(继承自 CompositeActivity)
OnClosed(IServiceProvider)
已过时.

作为活动向 Closed 状态转换的一部分,由工作流运行时引擎调用。

(继承自 StateActivity)
OnListChanged(ActivityCollectionChangeEventArgs)
已过时.

Activities 属性发生更改时,执行附加处理。

(继承自 CompositeActivity)
OnListChanging(ActivityCollectionChangeEventArgs)
已过时.

在对基础 Activities 进行更改之前发生的事件。

(继承自 CompositeActivity)
OnWorkflowChangesCompleted(ActivityExecutionContext)
已过时.

对此实例的集合 Activities 进行更改之后调用。

(继承自 CompositeActivity)
RaiseEvent(DependencyProperty, Object, EventArgs)
已过时.

引发与指定依赖属性关联的 Event

(继承自 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
已过时.

引发与引用的 DependencyProperty 关联的事件。

(继承自 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已过时.

为状态更改事件注册指定的 DependencyProperty

(继承自 Activity)
RemoveHandler(DependencyProperty, Object)
已过时.

从关联的 EventHandler 中移除 DependencyProperty

(继承自 DependencyObject)
RemoveProperty(DependencyProperty)
已过时.

DependencyProperty 中移除 DependencyObject

(继承自 DependencyObject)
Save(Stream)
已过时.

Activity 写入到 Stream 以便进行保留。

(继承自 Activity)
Save(Stream, IFormatter)
已过时.

使用为序列化提供的自定义 ActivityStream 写入到 IFormatter,以便进行保留。

(继承自 Activity)
SetBinding(DependencyProperty, ActivityBind)
已过时.

为指定的 ActivityBind 设置 DependencyProperty

(继承自 DependencyObject)
SetBoundValue(ActivityBind, Object)
已过时.

设置目标 ActivityBind 的值。

(继承自 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
已过时.

设置只读的 DependencyProperty 值。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)
已过时.

DependencyProperty 的值设置为对象。

(继承自 DependencyObject)
SetValueBase(DependencyProperty, Object)
已过时.

通过跳过 DependencyProperty,将 Object 的值设置为指定的 SetValue(DependencyProperty, Object)

(继承自 DependencyObject)
ToString()
已过时.

提供表示此实例的字符串。

(继承自 Activity)
TrackData(Object)
已过时.

向运行时跟踪基础结构通知有关挂起跟踪的信息。

(继承自 Activity)
TrackData(String, Object)
已过时.

向运行时跟踪基础结构通知有关挂起跟踪的信息。

(继承自 Activity)
Uninitialize(IServiceProvider)
已过时.

当活动从 Closed 状态转换到 Initialized 状态时,由工作流运行时引擎调用。

(继承自 CompositeActivity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已过时.

注销状态更改事件的指定 DependencyProperty

(继承自 Activity)

事件

Canceling
已过时.

在取消活动执行时发生。

(继承自 Activity)
Closed
已过时.

Activity 完成执行时发生。

(继承自 Activity)
Compensating
已过时.

Activity 上运行补偿方法时发生。

(继承自 Activity)
Executing
已过时.

在运行 Activity 时发生。

(继承自 Activity)
Faulting
已过时.

在实例的运行期间引发异常时发生。

(继承自 Activity)
StatusChanged
已过时.

在运行中的 ActivityExecutionStatusActivity 更改时发生。

(继承自 Activity)

显式接口实现

IComponent.Disposed
已过时.

表示处理组件的“Disposed”事件的方法。

(继承自 DependencyObject)

适用于

另请参阅