Share via


WorkflowInstance.Abort 方法

定义

中止工作流实例。

public:
 void Abort();
public void Abort ();
member this.Abort : unit -> unit
Public Sub Abort ()

例外

工作流运行时引擎未运行。

示例

下面的示例演示如何在类型为 Workflow1 的工作流实例上调用“Abort”。

//Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
//Create a workflow instance
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
//Start the instance
instance.Start();
//Abort the instance
instance.Abort();
'Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
'Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
'Start the instance
workflowInstance.Start()
'Abort the instance
workflowInstance.Abort()

注解

工作流实例以同步方式中止,即方法在中止工作流实例之后返回。 工作流运行时引擎将使内存中的工作流实例无效,并清除 WorkBatch。 如果工作流实例使用了持久性服务,则在最后一个持久点之后执行的所有工作都将被丢弃。 在中止工作流实例之后,工作流运行时引擎将引发 WorkflowAborted 事件。 您可以调用 GetWorkflow 以便重新加载工作流实例,并从其最后的持久点启动。

AbortTerminate 的不同之处在于,Abort 只是清除内存中的工作流实例,并可以从最后一个持久点重新启动;而 Terminate 则是清除内存中的工作流实例,并通知持久性服务此实例已从内存中清除。 对于 SqlWorkflowPersistenceService,这表示终止时该工作流实例的所有状态信息都已从数据库中删除。 您将无法从先前存储的持久点处重新加载工作流实例。

适用于