WorkflowInstance 类

定义

注意

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

表示工作流实例。

public ref class WorkflowInstance sealed
public sealed class WorkflowInstance
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
继承
WorkflowInstance
属性

示例

下面的代码示例演示如何在工作流主机中创建和启动 WorkflowInstance。 此代码先创建 WorkflowRuntime 的实例,将服务添加至运行时,然后演示一个创建 WorkflowInstance 对象的推荐方式。 该代码通过调用 WorkflowInstance 方法并向该方法传递事先创建的类型来初始化 CreateWorkflow。 使用 WorkflowInstance 方法调用启动 Start

此代码示例摘自 Program.cs 文件中的“取消工作流”SDK 示例。 有关详细信息,请参阅 取消工作流

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

注解

注意

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

WorkflowInstance 类可以公开用于控制执行工作流实例的方法和属性,它实质上是工作流运行时引擎所使用的实际工作流的代理。 通过调用包含在 WorkflowInstance 类中的适当方法,宿主或服务可以指示工作流运行时引擎在工作流实例上执行操作。 如果请求的操作无效,例如,如果宿主在一个已完成的工作流实例上调用 Load,则工作流运行时引擎将引发相应的异常。

注意

如果工作流实例由于宿主应用程序上的调用未返回而无法响应,则恢复此实例的唯一方法是重新启动运行时。 但是,如果实例被强行卸载、中止或挂起,则仍可以通过调用 WorkflowInstance.Resume 方法继续此实例。

属性

InstanceId
已过时.

获取工作流实例的唯一标识符。

WorkflowRuntime
已过时.

获取此工作流实例的 WorkflowRuntime

方法

Abort()
已过时.

中止工作流实例。

ApplyWorkflowChanges(WorkflowChanges)
已过时.

将更改应用到 WorkflowChanges 对象所指定的工作流实例。

EnqueueItem(IComparable, Object, IPendingWork, Object)
已过时.

将消息同步发送到指定工作流队列。

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)
已过时.

当工作流处于空闲状态时,将消息发送到指定的工作流队列。 在确认工作流计划程序处于空闲状态(即没有执行任何有效操作)之后,EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) 将一直等待,直至工作流达到空闲点并编排队列。

Equals(Object)
已过时.

返回一个值,该值指示指定对象是否等于 WorkflowInstance

GetHashCode()
已过时.

返回此工作流实例的哈希代码。

GetType()
已过时.

获取当前实例的 Type

(继承自 Object)
GetWorkflowDefinition()
已过时.

检索此工作流实例的根活动。

GetWorkflowNextTimerExpiration()
已过时.

返回下一个时间点,已计划在此时间点向此 WorkflowInstance 传递计时器消息。

GetWorkflowQueueData()
已过时.

获取 WorkflowQueueInfo 对象的集合,该集合包含与此工作流实例关联的工作流队列的挂起项和订阅活动。

Load()
已过时.

加载先前卸载的工作流实例。

MemberwiseClone()
已过时.

创建当前 Object 的浅表副本。

(继承自 Object)
ReloadTrackingProfiles()
已过时.

重新加载此工作流实例的跟踪配置文件。

Resume()
已过时.

继续执行先前挂起的工作流实例。

Start()
已过时.

开始执行工作流实例。

Suspend(String)
已过时.

挂起工作流实例。

Terminate(String)
已过时.

以同步方式终止工作流实例。

ToString()
已过时.

返回表示当前对象的字符串。

(继承自 Object)
TryUnload()
已过时.

当实例处于挂起或空闲状态时,将工作流实例从内存卸载到持久性存储区。

Unload()
已过时.

将工作流实例从内存卸载到持久性存储区。 此调用将进行阻止,直至当前计划的工作完成或事务范围结束。

适用于

线程安全性

此类型是线程安全的。

另请参阅