Udostępnij za pośrednictwem


WorkflowRuntime.CreateWorkflow Metoda

Definicja

Tworzy wystąpienie przepływu pracy przy użyciu określonych parametrów.

Przeciążenia

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych parametrów.

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych parametrów.

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych XmlReader obiektów i argumentów zawartych w określonym Dictionary<TKey,TValue>obiekcie .

CreateWorkflow(XmlReader)

Tworzy wystąpienie przepływu pracy przy użyciu określonego XmlReaderelementu .

CreateWorkflow(Type)

Tworzy nowe wystąpienie przepływu pracy przy użyciu określonego przepływu pracy Type.

CreateWorkflow(Type, Dictionary<String,Object>)

Tworzy wystąpienie przepływu pracy przy użyciu określonego przepływu pracy Type i argumentów do przepływu pracy zawartego w określonym obiekcie Dictionary<TKey,TValue>.

Uwagi

Jeśli aparat czasu wykonywania przepływu pracy nie został uruchomiony, metody wywołają metodę CreateWorkflow StartRuntime. Zobacz StartRuntime listę możliwych wyjątków. Po utworzeniu wystąpienia przepływu pracy wywołaj WorkflowInstance.Start WorkflowInstance obiekt zwrócony przez metodę CreateWorkflow , aby rozpocząć jego wykonywanie.

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych parametrów.

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

Parametry

workflowDefinitionReader
XmlReader

Element XmlReader zawierający definicję przepływu pracy.

rulesReader
XmlReader

An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.

instanceId
Guid

Element Guid specyficzny WorkflowInstance do utworzenia.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowTypejest odwołaniem o wartości null (Nothing w Visual Basic).

Uwagi

Przed utworzeniem WorkflowInstance elementu zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy sprawdzania WorkflowValidationFailedException poprawności, zostanie on zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera ponowna zmiana przepływu pracy dla każdej aktywacji może być niepotrzebna.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Przepływ pracy instanceId dla wszystkich uruchomionych przepływów pracy załadowanych przez element WorkflowRuntime musi być unikatowy. Jeśli przekażesz element instanceId w celu utworzenia przepływu pracy, a uruchomiony przepływ pracy już używa tego instanceIdelementu , InvalidOperationException element zostanie zgłoszony.

Przykład przekazywania parametrów do CreateWorkflowelementu można znaleźć w temacie Workflow with Parameters Sample (Przepływ pracy z parametrami Przykład).

Przykład używania reguł zdefiniowanych w formacie XML można znaleźć w temacie IfElse with Rules Sample (IfElse with Rules Sample).

Dotyczy

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych parametrów.

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

Parametry

workflowType
Type

Element Type przepływu pracy do utworzenia.

namedArgumentValues
Dictionary<String,Object>

Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.

instanceId
Guid

Element Guid specyficzny WorkflowInstance do utworzenia.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowTypejest odwołaniem o wartości null (Nothing w Visual Basic).

Uwagi

Przed utworzeniem WorkflowInstance elementu zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy sprawdzania WorkflowValidationFailedException poprawności, zostanie on zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera ponowna zmiana przepływu pracy dla każdej aktywacji może być niepotrzebna.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Przepływ pracy instanceId dla wszystkich uruchomionych przepływów pracy załadowanych przez element WorkflowRuntime musi być unikatowy. Jeśli przekażesz element instanceId w celu utworzenia przepływu pracy, a uruchomiony przepływ pracy już używa tego instanceIdelementu , InvalidOperationException element zostanie zgłoszony.

Przykład przekazywania parametrów do CreateWorkflowelementu można znaleźć w temacie Workflow with Parameters Sample (Przepływ pracy z parametrami Przykład).

Dotyczy

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

Tworzy wystąpienie przepływu pracy przy użyciu określonych XmlReader obiektów i argumentów zawartych w określonym Dictionary<TKey,TValue>obiekcie .

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

Parametry

workflowDefinitionReader
XmlReader

Element XmlReader zawierający definicję przepływu pracy.

rulesReader
XmlReader

An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowDefinitionReaderjest odwołaniem o wartości null (Nothing w Visual Basic).

Uwagi

Wystąpienie przepływu pracy jest tworzone na podstawie definicji przepływu pracy przywoływanej przez XmlReader argumenty i dostarczone przez namedArgumentValueselement .

Przed utworzeniem WorkflowInstance elementu zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy sprawdzania WorkflowValidationFailedException poprawności, zostanie on zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera ponowna zmiana przepływu pracy dla każdej aktywacji może być niepotrzebna.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Przykład przekazywania parametrów do CreateWorkflowelementu można znaleźć w temacie Workflow with Parameters Sample (Przepływ pracy z parametrami Przykład).

Przykład używania reguł zdefiniowanych w formacie XML można znaleźć w temacie IfElse with Rules Sample (IfElse with Rules Sample).

Dotyczy

CreateWorkflow(XmlReader)

Tworzy wystąpienie przepływu pracy przy użyciu określonego XmlReaderelementu .

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

Parametry

workflowDefinitionReader
XmlReader

Element XmlReader zawierający definicję przepływu pracy.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowDefinitionReaderjest odwołaniem o wartości null (Nothingw Visual Basic).

Przykłady

W poniższym przykładzie pokazano, jak utworzyć przepływ pracy przy użyciu definicji przepływu pracy opartej na języku 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();  
    }  
}  

Uwagi

Wystąpienie przepływu pracy jest tworzone na podstawie pliku definicji przepływu pracy XAML, do których XmlReaderodwołuje się plik .

Przed utworzeniem WorkflowInstance zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy weryfikacji, WorkflowValidationFailedException zostanie zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera zmiana przepływu pracy dla każdej aktywacji może być niepotrzebnym obciążeniem.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Dotyczy

CreateWorkflow(Type)

Tworzy nowe wystąpienie przepływu pracy przy użyciu określonego przepływu pracy 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

Parametry

workflowType
Type

Przepływ Type pracy do utworzenia.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowTypejest odwołaniem o wartości null (Nothingw Visual Basic).

Przykłady

Poniższy przykład kodu przedstawia zalecany sposób tworzenia WorkflowInstance obiektu na hoście przepływu pracy przy użyciu CreateWorkflow metody .

Ten przykładowy kod jest częścią przykładu Anulowanie przepływu pracy .

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

Uwagi

Przed utworzeniem WorkflowInstance zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy weryfikacji, WorkflowValidationFailedException zostanie zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera zmiana przepływu pracy dla każdej aktywacji może być niepotrzebnym obciążeniem.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Dotyczy

CreateWorkflow(Type, Dictionary<String,Object>)

Tworzy wystąpienie przepływu pracy przy użyciu określonego przepływu pracy Type i argumentów do przepływu pracy zawartego w określonym obiekcie 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

Parametry

workflowType
Type

Przepływ Type pracy do utworzenia.

namedArgumentValues
Dictionary<String,Object>

Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.

Zwraca

WorkflowInstance

Utworzone wystąpienie przepływu pracy.

Wyjątki

workflowTypejest odwołaniem o wartości null (Nothing w Visual Basic).

Uwagi

Przed utworzeniem WorkflowInstance zostanie wykonana walidacja. Jeśli wystąpią jakiekolwiek błędy sprawdzania WorkflowValidationFailedException poprawności, zostanie on zgłoszony. Działa to dobrze w przypadku prostych scenariuszy, ale w środowisku serwera ponowna zmiana przepływu pracy dla każdej aktywacji może być niepotrzebna.

Aby uzyskać więcej informacji na temat wyłączania walidacji, zobacz ValidateOnCreate.

Przykład przekazywania parametrów do CreateWorkflowelementu można znaleźć w temacie Workflow with Parameters Sample (Przepływ pracy z parametrami Przykład).

Dotyczy