次の方法で共有


WorkflowRuntime コンストラクター

定義

WorkflowRuntime クラスの新しいインスタンスを初期化します。

オーバーロード

WorkflowRuntime()

WorkflowRuntime クラスの新しいインスタンスを初期化します。

WorkflowRuntime(String)

アプリケーション構成ファイル内の指定したセクションを使用して、WorkflowRuntime クラスの新しいインスタンスを初期化します。

WorkflowRuntime(WorkflowRuntimeSection)

指定した WorkflowRuntime での設定を使用して、WorkflowRuntimeSection クラスの新しいインスタンスを初期化します。

WorkflowRuntime()

WorkflowRuntime クラスの新しいインスタンスを初期化します。

public:
 WorkflowRuntime();
public WorkflowRuntime ();
Public Sub New ()

次のコード例は、ワークフローのホストから WorkflowRuntime の機能を使用する方法を示しています。 ここでは、WorkflowRuntime コンストラクターを使用して WorkflowRuntime のインスタンスを作成し、そのメソッドとイベントにアクセスする方法の例を示しています。

このコード例は、ワークフローの 取り消しサンプルの 一部です。

static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}
Shared Sub Main()
    Dim connectionString As String = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;"
    Using workflowRuntime As New WorkflowRuntime()
        Dim dataService As New ExternalDataExchangeService()
        workflowRuntime.AddService(dataService)
        dataService.AddService(expenseService)

        workflowRuntime.AddService(New SqlWorkflowPersistenceService(connectionString))


        AddHandler workflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
        AddHandler workflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
        AddHandler workflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
        AddHandler workflowRuntime.WorkflowAborted, AddressOf OnWorkflowAborted


        Dim workflowInstance As WorkflowInstance
        workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
        workflowInstance.Start()

        waitHandle.WaitOne()

        workflowRuntime.StopRuntime()
    End Using
End Sub

注釈

WorkflowRuntime は既定のプロパティ値を使用して初期化され、既定のコア サービスを含んでいます。 ワークフロー ランタイム エンジンを追加構成する場合、AddService および RemoveService を使用してサービスを追加および削除できます。また、Name を設定することができます。 WorkflowRuntime を構成した後、StartRuntime を呼び出してワークフロー ランタイム エンジンとそのサービスを開始します。

WorkflowRuntime クラスのインスタンスの初期プロパティ値を次の表に示します。

プロパティ 初期値
Name "WorkflowRuntime"
IsStarted false

既定のコア サービスは、DefaultWorkflowCommitWorkBatchService および DefaultWorkflowSchedulerService です。

適用対象

WorkflowRuntime(String)

アプリケーション構成ファイル内の指定したセクションを使用して、WorkflowRuntime クラスの新しいインスタンスを初期化します。

public:
 WorkflowRuntime(System::String ^ configSectionName);
public WorkflowRuntime (string configSectionName);
new System.Workflow.Runtime.WorkflowRuntime : string -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (configSectionName As String)

パラメーター

configSectionName
String

アプリケーション構成ファイル内の有効な workflowSettings セクションの名前。

例外

configSectionName が null 参照 (Visual Basic の場合は Nothing) です。

有効な workflowSettings セクションがアプリケーション構成ファイル内に見つかりませんでした。

このアプリケーション ドメインの WorkflowRuntime は既に存在します。

注釈

WorkflowRuntime は、アプリケーション構成ファイル内の、configSectionName で指定したセクションでの設定に従って初期化されます。 configSectionName は、構成ファイルの有効な workflowSettings セクションに対応している必要があります。

ワークフロー ランタイム エンジンは、アプリケーション構成ファイルを使用して構成すると、構成ファイルのセクションに Services 記載されている型のクラスを読み込んでインスタンス化します。 これらのクラスを作成するときに、ワークフロー ランタイム エンジンは次のシグネチャのクラス コンストラクターを次の順に検索します。

  1. Service(WorkflowRuntime runtime, NameValueCollection parameters)

  2. Service(WorkflowRuntime runtime)

  3. Service(NameValueCollection parameters)

  4. Service()

構成ファイルから読み込まれるすべてのサービス クラスは、これらのコンストラクター シグネチャのうちの少なくとも 1 つを実装する必要があります。

詳細については、「WorkflowRuntimeSection」を参照してください。

適用対象

WorkflowRuntime(WorkflowRuntimeSection)

指定した WorkflowRuntime での設定を使用して、WorkflowRuntimeSection クラスの新しいインスタンスを初期化します。

public:
 WorkflowRuntime(System::Workflow::Runtime::Configuration::WorkflowRuntimeSection ^ settings);
public WorkflowRuntime (System.Workflow.Runtime.Configuration.WorkflowRuntimeSection settings);
new System.Workflow.Runtime.WorkflowRuntime : System.Workflow.Runtime.Configuration.WorkflowRuntimeSection -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (settings As WorkflowRuntimeSection)

パラメーター

例外

settings が null 参照 (Visual Basic の場合は Nothing) です。

このアプリケーション ドメインの WorkflowRuntime は既に存在します。

注釈

このコンストラクターは、アプリケーション構成ファイルを使用しないホストに、単一メソッド呼び出しを使用したワークフロー ランタイム エンジン構成機構を提供します。 アプリケーション構成ファイルを使用しない理由はさまざまです。 構成ファイルの使用が許可されない環境でホストが実行されることもあります。たとえば、セキュリティ上の理由から、アプリケーション構成ファイルからの読み取りが許可されない信頼される環境でホストが実行される場合です。 また、ホストが独自の構成機構を使用することもあります。たとえば、ホストがワークフロー ランタイム エンジンの構成設定を SQL データベースに格納する場合です。

ワークフロー ランタイム エンジンは、WorkflowRuntimeSection.Services に格納された型のクラスを読み込んでインスタンス化します。 これらのクラスを作成するときに、ワークフロー ランタイム エンジンは次のシグネチャのクラス コンストラクターを次の順に検索します。

  1. Service(WorkflowRuntime runtime, NameValueCollection parameters)

  2. Service(WorkflowRuntime runtime)

  3. Service(NameValueCollection parameters)

  4. Service()

settings で指定されたすべてのサービス クラスは、これらのコンストラクター シグネチャのうちの少なくとも 1 つを実装する必要があります。

適用対象