WorkflowRuntimeService.Start メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 ()
例外
例
WorkflowRuntimeService から派生したオブジェクト (TerminationTrackingService) に対する Start メソッドを呼び出す方法を次の例に示します。 この例は、終了追跡サービスの SDK サンプルです。 詳細については、「 終了追跡サービスのサンプル」を参照してください。
protected override void Start()
{
base.Start();
//
// This will throw if we are invalid to inform the host immediately
ValidateEventLogSource(source);
}
Protected Overrides Sub Start()
MyBase.Start()
'
' This will throw if we are invalid to inform the host immediately
ValidateEventLogSource(source)
End Sub
注釈
Start が呼び出されると、ワークフロー ランタイム エンジンは、WorkflowRuntimeService クラスから派生したそのすべてのサービスについて StartRuntime を呼び出します。
ワークフロー ランタイム エンジンを開始した後、Start を呼び出してワークフロー ランタイム エンジンにワークフロー ランタイム エンジン サービスを追加したときも、AddService がワークフロー ランタイム エンジンによって呼び出されます。 Start の既定の実装は、サービスが開始されたかどうかを追跡し、この情報を使用することによって、既に実行されているサービスが開始された場合は適切な例外をスローします。
このメソッドをオーバーライドすることにより、サービスをワークフロー ランタイム エンジンで開始するために必要な追加機能を持たせることができます。 ワークフロー ランタイム エンジンがサービスに対する Start を呼び出したときに、存在するどのサービスが実行されているかについての保証はありません。 したがって、Start メソッドでは、他のサービスが提供する機能に依存しない初期化のみを実行する必要があります。 これには、スケジューラ サービスなどのコア サービスが提供する機能が含まれます。 ワークフロー ランタイム エンジンは、そのすべてのサービスの WorkflowRuntime.Started メソッドを呼び出した後で Start イベントを発生させます。 ワークフロー ランタイム エンジンのすべてのサービスを開始した後で、サービスをさらに初期化する必要がある場合は、OnStarted イベントが発生した時点でその初期化を実行するように Start メソッドをオーバーライドできます。
注意
ワークフロー ランタイム エンジンを起動した後、AddService を呼び出してサービスをワークフロー ランタイム エンジンに追加した場合、ワークフロー ランタイム エンジンはそのサービスに対して Start を呼び出します。 ただし、このような場合は、Started イベントが既に発生しているため、サービスは、通常であれば OnStarted で実行される初期化を、Start メソッド内から実行することが必要な場合があります。 IsStarted をテストすると、ワークフロー ランタイム エンジンが起動されているかどうかを確認できます。
Start は、ワークフロー ランタイム エンジンでのみ呼び出す必要があります。
適用対象
.NET