WorkflowRuntime.CreateWorkflow メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したパラメーターを使用して、ワークフロー インスタンスを作成します。
オーバーロード
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
パラメーター
- namedArgumentValues
- Dictionary<String,Object>
ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>。
- instanceId
- Guid
作成する特定の Guid の 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
パラメーター
- namedArgumentValues
- Dictionary<String,Object>
ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>。
- instanceId
- Guid
作成する特定の Guid の 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
パラメーター
- namedArgumentValues
- Dictionary<String,Object>
ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>。
戻り値
作成されたワークフロー インスタンス。
例外
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
が 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
が 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
パラメーター
- namedArgumentValues
- Dictionary<String,Object>
ワークフローの引数を表す文字列で指定されたオブジェクトの Dictionary<TKey,TValue>。
戻り値
作成されたワークフロー インスタンス。
例外
workflowType
が null 参照 (Visual Basic の場合は Nothing
) です。
注釈
WorkflowInstance の作成前に、ワークフロー インスタンスの検証が実行されます。 検証エラーが発生した場合は、WorkflowValidationFailedException がスローされます。 これは単純なシナリオでは正しく動作しますが、サーバー環境では、ワークフローをアクティブにするたびにワークフローの再検証を実行すると、不要なオーバーヘッドが生じることがあります。
検証を無効にする方法の詳細については、次を参照してください ValidateOnCreate。
パラメーターを渡す例については、「パラメーターを使用したCreateWorkflow
ワークフローのサンプル」を参照してください。