WorkflowRuntime.AddService(Object) メソッド

定義

指定したサービスをワークフロー ランタイム エンジンに追加します。

public:
 void AddService(System::Object ^ service);
public void AddService(object service);
member this.AddService : obj -> unit
Public Sub AddService (service As Object)

パラメーター

service
Object

追加するサービスを表すオブジェクト。

例外

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

WorkflowRuntimeは破棄されます。

service は既にワークフロー ランタイム エンジンに登録されています。

-又は-

service はコア サービスであり、ワークフロー ランタイム エンジンは既に実行されています (IsStartedtrue)。

注釈

コア サービスを追加することで、ワークフロー ランタイム エンジンを構成できます。 コア サービスは、 WorkflowSchedulerService クラス、 WorkflowCommitWorkBatchService クラス、 WorkflowPersistenceService クラス、 TrackingService クラスのいずれかのサービス 基底クラスから派生したものです。 コア サービスは、ワークフロー ランタイム エンジンが実行されていない場合にのみ追加できます。つまり、 IsStartedfalseされている場合です。 WorkflowRuntimeは、他のワークフローまたはホストで実行されているアプリケーションで使用できる他のサービスのストレージ コンテナーとしても使用できます。 ワークフロー ランタイム エンジンの開始後に、 WorkflowRuntimeService クラスから派生する非コア サービスを追加すると、 AddService はそのサービスによって実装された Start メソッドを呼び出します。

Note

AddService では、同じ Type の 2 つのサービスを WorkflowRuntimeに追加できないという制限が適用されます。 ただし、同じ基底クラスから派生する複数のサービスを追加できます。 WorkflowRuntimeには、WorkflowSchedulerService クラス、WorkflowCommitWorkBatchService クラス、および WorkflowPersistenceService クラスの各サービス基底クラスから派生したサービスが 1 つだけ存在できます。 2 つの永続化サービスなど、これらのクラスの 1 つから派生した複数のサービスを追加すると、 StartRuntimeInvalidOperationExceptionをスローします。

適用対象