WorkflowRuntimeService.OnStopped 方法

定义

在派生类中重写时,表示将在工作流运行时引擎引发 Stopped 事件时调用的方法。

protected:
 virtual void OnStopped();
protected virtual void OnStopped ();
abstract member OnStopped : unit -> unit
override this.OnStopped : unit -> unit
Protected Overridable Sub OnStopped ()

注解

WorkflowRuntimeService 类实现两阶段停止机制,这样,当工作流运行时引擎调用服务的 Stop 方法之后,工作流运行时引擎服务仍可以保留部分功能,以便支持其他服务的关闭操作(如有必要)。 在工作流运行时引擎调用其所有工作流运行时引擎服务的 Stop 方法后,将引发 WorkflowRuntime.Stopped 事件。 可以重写 OnStopped 方法,在引发 WorkflowRuntime.Stopped 事件时提供服务所需的任何最终关闭功能。 WorkflowRuntime.Stopped 事件的订阅和取消订阅机制在内部进行处理。

注意

当工作流运行时引擎正在运行时,如果通过调用 WorkflowRuntimeService 从工作流运行时引擎中移除了 RemoveService,则工作流运行时引擎将在服务上调用 Stop。 不过,在这种情况下,不会为服务调用 OnStopped 方法。 因此,您的服务可能需要在 OnStopped 方法内部执行任何通常在 Stop 中执行的最终关闭。 可以测试 IsStarted,确定工作流运行时引擎是否正在运行。

在调用 State 之前,Stopped 设置为 OnStoppedOnStopped 的默认实现不执行任何操作。

适用于