WorkflowRuntime.CreateWorkflow メソッド

定義

指定したパラメーターを使用して、ワークフロー インスタンスを作成します。

オーバーロード

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

指定したパラメーターを使用して、ワークフロー インスタンスを作成します。

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

指定したパラメーターを使用して、ワークフロー インスタンスを作成します。

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)

指定した XmlReader オブジェクトと、指定した Dictionary<TKey,TValue> に格納された引数を使用して、ワークフロー インスタンスを作成します。

CreateWorkflow(XmlReader)

指定した XmlReader を使用して、ワークフロー インスタンスを作成します。

CreateWorkflow(Type)

指定したワークフローの Type を使用して、新しいワークフロー インスタンスを作成します。

CreateWorkflow(Type, Dictionary<String,Object>)

指定したワークフローの Type と、指定した Dictionary<TKey,TValue> に格納されたワークフローの引数を使用して、ワークフロー インスタンスを作成します。

注釈

ワークフロー ランタイム エンジンが起動していない場合は、CreateWorkflow メソッドによって StartRuntime が呼び出されます。 使用できる例外のリストについては、StartRuntime を参照してください。 ワークフロー インスタンスを作成したら、WorkflowInstance.Start メソッドから返された WorkflowInstance オブジェクトに対して CreateWorkflow を呼び出して実行を開始します。

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

指定したパラメーターを使用して、ワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance

パラメーター

workflowDefinitionReader
XmlReader

ワークフロー定義を格納している XmlReader

rulesReader
XmlReader

XmlReader

namedArgumentValues
Dictionary<String,Object>

ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>

instanceId
Guid

作成する特定の GuidWorkflowInstance

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

注釈

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

instanceId によって読み込まれた実行中のワークフローの WorkflowRuntime は、一意でなければなりません。 instanceId を渡してワークフローを作成し、実行中のワークフローでその instanceId が既に使用されている場合は、InvalidOperationException がスローされます。

パラメーターを渡す例については、「パラメーターを使用したCreateWorkflowワークフローのサンプル」を参照してください。

XML で定義されているルールの使用例については、「 IfElse with Rules Sample」を参照してください。

適用対象

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

指定したパラメーターを使用して、ワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance

パラメーター

workflowType
Type

作成するワークフローの Type

namedArgumentValues
Dictionary<String,Object>

ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>

instanceId
Guid

作成する特定の GuidWorkflowInstance

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

注釈

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

instanceId によって読み込まれた実行中のワークフローの WorkflowRuntime は、一意でなければなりません。 instanceId を渡してワークフローを作成し、実行中のワークフローでその instanceId が既に使用されている場合は、InvalidOperationException がスローされます。

パラメーターを渡す例については、「パラメーターを使用したCreateWorkflowワークフローのサンプル」を参照してください。

適用対象

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)

指定した XmlReader オブジェクトと、指定した Dictionary<TKey,TValue> に格納された引数を使用して、ワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance

パラメーター

workflowDefinitionReader
XmlReader

ワークフロー定義を格納している XmlReader

rulesReader
XmlReader

XmlReader

namedArgumentValues
Dictionary<String,Object>

ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

WorkflowRuntime は破棄されています。

注釈

XmlReader によって参照されるワークフロー定義と、namedArgumentValues によって提供される引数から、ワークフロー インスタンスが作成されます。

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

パラメーターを渡す例については、「パラメーターを使用したCreateWorkflowワークフローのサンプル」を参照してください。

XML で定義されているルールの使用例については、「 IfElse with Rules Sample」を参照してください。

適用対象

CreateWorkflow(XmlReader)

指定した XmlReader を使用して、ワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader);
member this.CreateWorkflow : System.Xml.XmlReader -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader) As WorkflowInstance

パラメーター

workflowDefinitionReader
XmlReader

ワークフロー定義を格納している XmlReader

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

WorkflowRuntime は破棄されています。

XAML ベースのワークフロー定義を指定してワークフローを作成する方法を次の例に示します。

static void Main(string[] args)  
{  
    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())  
    {  
        AutoResetEvent waitHandle = new AutoResetEvent(false);  
        workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e)  
        {  
            waitHandle.Set();  
        };  
        workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)  
        {  
            Console.WriteLine(e.Exception.Message);  
            waitHandle.Set();  
        };  

        TypeProvider typeProvider = new TypeProvider(null);  
        // Add referenced assemblies, if needed  
        // typeProvider.AddAssembly(...);  
        workflowRuntime.AddService(typeProvider);  

        using (XmlReader reader = XmlReader.Create("Workflow1.xoml"))  
        {  
            WorkflowInstance instance = workflowRuntime.CreateWorkflow(reader);  
            instance.Start();  
        }  

        waitHandle.WaitOne();  
    }  
}  

注釈

XmlReader によって参照される XAML ワークフロー定義ファイルからワークフロー インスタンスが作成されます。

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

適用対象

CreateWorkflow(Type)

指定したワークフローの Type を使用して、新しいワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType);
member this.CreateWorkflow : Type -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type) As WorkflowInstance

パラメーター

workflowType
Type

作成するワークフローの Type

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

次のコード例は、ワークフロー ホストで WorkflowInstance メソッドを使用して CreateWorkflow オブジェクトを作成するための推奨方法を示しています。

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

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

注釈

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

適用対象

CreateWorkflow(Type, Dictionary<String,Object>)

指定したワークフローの Type と、指定した Dictionary<TKey,TValue> に格納されたワークフローの引数を使用して、ワークフロー インスタンスを作成します。

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance

パラメーター

workflowType
Type

作成するワークフローの Type

namedArgumentValues
Dictionary<String,Object>

ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>

戻り値

WorkflowInstance

作成されたワークフロー インスタンス。

例外

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

注釈

WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。

検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate

パラメーターを渡す例については、「パラメーターを使用したCreateWorkflowワークフローのサンプル」を参照してください。

適用対象