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 メソッドをオーバーライドできます。

Note

ワークフロー ランタイム エンジンが既に開始された後、 AddService の呼び出しによってサービスがワークフロー ランタイム エンジンに追加された場合、ワークフロー ランタイム エンジンはサービスの Start を呼び出します。 ただし、この状況では、Started イベントが既に発生しているため、サービスは通常、OnStarted メソッド内からStartで実行する初期化を実行する必要がある場合があります。 IsStartedをテストして、ワークフロー ランタイム エンジンが開始されているかどうかを確認できます。

Start は、ワークフロー ランタイム エンジンによってのみ呼び出す必要があります。

適用対象