WorkflowRuntimeService.Stop メソッド

定義

派生クラスでオーバーライドされると、サービスを停止し、 StateStoppingに変更します。

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

例外

Runtime は null 参照です (Visual Basic では Nothing)。

-又は-

サービスはまだ開始されていません。

注釈

Stopは、WorkflowRuntimeServiceが呼び出されたときに、StopRuntime クラスから派生するすべてのサービスでワークフロー ランタイム エンジンによって呼び出されます。 Stop は、ワークフロー ランタイム エンジン サービスがワークフロー ランタイム エンジンから RemoveServiceの呼び出しによって削除されたときにも、ワークフロー ランタイム エンジンによって呼び出されます。 Stopの既定の実装では、サービスが開始されたかどうかを追跡し、サービスが開始される前に停止した場合に、この情報を使用して適切な例外をスローします。

このメソッドをオーバーライドすることで、ワークフロー ランタイム エンジンによってサービスを停止させるために必要な追加機能を提供できます。 サービスで Stop が呼び出されたときに、サービスが停止または実行される保証はありません。 ワークフロー ランタイム エンジンは、すべてのワークフロー ランタイム エンジン サービスのWorkflowRuntime.Stopped メソッドを呼び出した後、Stop イベントを発生させます。 すべてのワークフロー ランタイム エンジン サービスがワークフロー ランタイム エンジンによって停止メソッドを呼び出すまで、サービスが他のサービスをサポートするために、いくつかの残余機能を保持する必要がある場合があります。 サービスでこのような機能を保持する必要がある場合は、 OnStopped メソッドをオーバーライドして、 WorkflowRuntime.Stopped イベントが発生したときにサービスの停止を完了するために必要な追加のアクションを実行できます。

Note

ワークフロー ランタイム エンジンの実行中にWorkflowRuntimeServiceの呼び出しによってワークフロー ランタイム エンジンからRemoveServiceが削除された場合、ワークフロー ランタイム エンジンはサービスのStopを呼び出します。 ただし、この状況では、 OnStopped メソッドはサービスに対して呼び出されません。 そのため、OnStopped メソッド内から通常Stopで実行される追加のシャットダウン機能をサービスで実行する必要がある場合があります。 IsStartedをテストして、ワークフロー ランタイム エンジンが実行されているかどうかを判断できます。

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

適用対象