WorkflowRuntimeService.Start 方法

定义

在派生类中重写时,启动服务并将更改 StateStarting

protected public:
 virtual void Start();
protected internal virtual void Start();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Protected Friend Overridable Sub Start ()

例外

Runtime 为 null 引用(Visual Basic 中的 Nothing

-或-

服务已启动。

注解

Start由工作流运行时引擎在其调用时WorkflowRuntimeService派生自StartRuntime类的所有服务上调用。

Start 当工作流运行时引擎服务通过工作流运行时引擎启动后调用工作流运行时引擎添加到工作流运行时引擎时,工作流运行时引擎也会调用 AddService 该引擎。 默认实现 Start 跟踪服务是否已启动,并在服务正在运行时使用该信息引发相应的异常。

可以通过重写此方法来提供使服务由工作流运行时引擎启动所需的附加功能。 无法保证当工作流运行时引擎调用 Start 服务时,哪些服务(如果有)将运行。 因此,在方法中 Start ,应仅执行不依赖于其他服务提供的功能的任何初始化。 这包括核心服务(如计划程序服务)提供的功能。 工作流运行时引擎在调用WorkflowRuntime.Started其所有工作流运行时引擎服务的方法后引发Start事件。 如果服务在启动所有工作流运行时引擎服务后需要其他初始化,则可以重写 OnStarted 该方法,以便在引发事件时 Start 执行此初始化。

注释

如果服务是通过在工作流运行时引擎启动后调用 AddService 添加到工作流运行时引擎的,则工作流运行时引擎将调用 Start 服务。 但是,在这种情况下,Started事件已发生,因此,服务可能必须执行通常从方法内部OnStarted执行Start的任何初始化。 可以测试 IsStarted 以确定工作流运行时引擎是否已启动。

Start 应仅由工作流运行时引擎调用。

适用于