WorkflowRuntime.CreateWorkflow Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowType
jest 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 instanceId
elementu , InvalidOperationException element zostanie zgłoszony.
Przykład przekazywania parametrów do CreateWorkflow
elementu 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
- 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
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowType
jest 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 instanceId
elementu , InvalidOperationException element zostanie zgłoszony.
Przykład przekazywania parametrów do CreateWorkflow
elementu 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
- namedArgumentValues
- Dictionary<String,Object>
Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.
Zwraca
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowDefinitionReader
jest odwołaniem o wartości null (Nothing
w Visual Basic).
Element WorkflowRuntime jest usuwany.
Uwagi
Wystąpienie przepływu pracy jest tworzone na podstawie definicji przepływu pracy przywoływanej przez XmlReader argumenty i dostarczone przez namedArgumentValues
element .
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 CreateWorkflow
elementu 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
Zwraca
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowDefinitionReader
jest odwołaniem o wartości null (Nothing
w Visual Basic).
Element WorkflowRuntime jest usuwany.
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
Zwraca
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowType
jest odwołaniem o wartości null (Nothing
w 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
- namedArgumentValues
- Dictionary<String,Object>
Obiekt Dictionary<TKey,TValue> kluczowany przez ciąg reprezentujący argumenty przepływu pracy.
Zwraca
Utworzone wystąpienie przepływu pracy.
Wyjątki
workflowType
jest 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 CreateWorkflow
elementu można znaleźć w temacie Workflow with Parameters Sample (Przepływ pracy z parametrami Przykład).