为了让想充分掌握WF执行时的生命周期,我对 WF随笔系列之二 --- WF提供的事件作些补充:
workflowAborted:
当工作流程执行个体放弃时引发,在workflowInstance类别中提供了一个Abort方法来放弃工作流程的执行,一旦招行这个方法,就会引发workflowAborted事件。
WorkflowCompleted:
发生在工作流程执行个体执行完毕时。如同先前看到的,我们可以透过事件传入的参数取得流程的传出参数。
WorkflowCreated:
当工作流程执行个体透过WorkflowRuntime的CreateWorkflow方法产生时,引发这个事件。
WorkflowIdled:
当工作流程执行个体进入到停滞的状态时引发这个事件,通常当执行个体在等待计时器或是外部事件时,就会进入到停滞的状态。
WorkflowLoaded:
当某个被储存在持久环境中的工作流程执行个体,透过状态保存服务重新载入还原到内存中,并在准备继续操作时引发这个事件。
WorkflowPersisted:
当状态保存服务把执行体储存到持久环境时会引发这个事件,这个时候执行体就会从内存中移除。
WorkflowSuspended:
当工作流程执行体暂停执行时就会引发这个事件,通常暂停执行是由Suspend活动所引发。
WorkflowResumed:
当工作流程执行体由暂停执行的状态中回复执行时,就引发这个事件。
WorkflowStarted:
当工作流程执行体开始执行时引发这个事件。
workflowTerminated:
当工作流程执行被终止时会引发此事件,终止的原因多半是因为碰上未处理的例外,而事件处理中的 WorkflowTerminatedEventArges参数会包含例外。
WorkflowUnloaded:
当工作流程执行体从内存中被移除时会引发此事件,这多半是因为工作流程进入到停滞的情况。