WorkflowInstance.Abort 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
中止工作流实例。
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 以便重新加载工作流实例,并从其最后的持久点启动。
Abort
与 Terminate 的不同之处在于,Abort
只是清除内存中的工作流实例,并可以从最后一个持久点重新启动;而 Terminate 则是清除内存中的工作流实例,并通知持久性服务此实例已从内存中清除。 对于 SqlWorkflowPersistenceService,这表示终止时该工作流实例的所有状态信息都已从数据库中删除。 您将无法从先前存储的持久点处重新加载工作流实例。