다음을 통해 공유


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이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. ValidateOnCreate합니다.

instanceId이 로드한 모든 실행 중인 워크플로의 워크플로 WorkflowRuntime는 고유해야 합니다. instanceId를 전달하여 워크플로를 만드는 경우 실행 중인 워크플로에서 이미 해당 instanceId를 사용 중이면 InvalidOperationException이 throw됩니다.

매개 변수를 전달의 예로 CreateWorkflow를 참조 하세요 Workflow with Parameters 샘플합니다.

XML에 정의 된 규칙을 사용 하 여 예제를 보려면 IfElse with Rules 샘플합니다.

적용 대상

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이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. ValidateOnCreate합니다.

instanceId이 로드한 모든 실행 중인 워크플로의 워크플로 WorkflowRuntime는 고유해야 합니다. instanceId를 전달하여 워크플로를 만드는 경우 실행 중인 워크플로에서 이미 해당 instanceId를 사용 중이면 InvalidOperationException이 throw됩니다.

매개 변수를 전달의 예로 CreateWorkflow를 참조 하세요 Workflow with Parameters 샘플합니다.

적용 대상

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)인 경우

설명

워크플로 인스턴스는 XmlReader가 참조하는 워크플로 및 namedArgumentValues가 제공하는 인수에서 만들어집니다.

WorkflowInstance를 만들기 전에 유효성 검사가 먼저 실행됩니다. 유효성 검사 오류가 발생하면 WorkflowValidationFailedException이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. ValidateOnCreate합니다.

매개 변수를 전달의 예로 CreateWorkflow를 참조 하세요 Workflow with Parameters 샘플합니다.

XML에 정의 된 규칙을 사용 하 여 예제를 보려면 IfElse with Rules 샘플합니다.

적용 대상

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)인 경우

예제

다음 예제에서는 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이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. 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이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. 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이 throw됩니다. 단순한 시나리오에서는 문제가 없지만 서버 환경에서는 활성화가 실행될 때마다 워크플로의 유효성을 다시 검사하는 것이 불필요한 부담이 될 수 있습니다.

유효성 검사를 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 참조 하세요. ValidateOnCreate합니다.

매개 변수를 전달의 예로 CreateWorkflow를 참조 하세요 Workflow with Parameters 샘플합니다.

적용 대상