WorkflowRuntime.AddService(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したサービスをワークフロー ランタイム エンジンに追加します。
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)。
service は既にワークフロー ランタイム エンジンに登録されています。
-又は-
service はコア サービスであり、ワークフロー ランタイム エンジンは既に実行されています (IsStarted は true)。
注釈
コア サービスを追加することで、ワークフロー ランタイム エンジンを構成できます。 コア サービスは、 WorkflowSchedulerService クラス、 WorkflowCommitWorkBatchService クラス、 WorkflowPersistenceService クラス、 TrackingService クラスのいずれかのサービス 基底クラスから派生したものです。 コア サービスは、ワークフロー ランタイム エンジンが実行されていない場合にのみ追加できます。つまり、 IsStarted が falseされている場合です。
WorkflowRuntimeは、他のワークフローまたはホストで実行されているアプリケーションで使用できる他のサービスのストレージ コンテナーとしても使用できます。 ワークフロー ランタイム エンジンの開始後に、 WorkflowRuntimeService クラスから派生する非コア サービスを追加すると、 AddService はそのサービスによって実装された Start メソッドを呼び出します。
Note
AddService では、同じ Type の 2 つのサービスを WorkflowRuntimeに追加できないという制限が適用されます。 ただし、同じ基底クラスから派生する複数のサービスを追加できます。 WorkflowRuntimeには、WorkflowSchedulerService クラス、WorkflowCommitWorkBatchService クラス、および WorkflowPersistenceService クラスの各サービス基底クラスから派生したサービスが 1 つだけ存在できます。 2 つの永続化サービスなど、これらのクラスの 1 つから派生した複数のサービスを追加すると、 StartRuntime は InvalidOperationExceptionをスローします。