WorkflowRuntime.CreateWorkflow WorkflowRuntime.CreateWorkflow WorkflowRuntime.CreateWorkflow WorkflowRuntime.CreateWorkflow Method

Определение

Создает экземпляр рабочего процесса, используя указанные параметры.Creates a workflow instance by using the specified parameters.

Перегрузки

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

Создает экземпляр рабочего процесса, используя указанные параметры.Creates a workflow instance by using the specified parameters.

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

Создает экземпляр рабочего процесса, используя указанные параметры.Creates a workflow instance by using the specified parameters.

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

Создает экземпляр рабочего процесса, используя указанные объекты XmlReader и аргументы, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.Creates a workflow instance by using the specified XmlReader objects and the arguments contained in the specified Dictionary<TKey,TValue>.

CreateWorkflow(XmlReader) CreateWorkflow(XmlReader) CreateWorkflow(XmlReader) CreateWorkflow(XmlReader)

Создает экземпляр рабочего процесса, используя заданный объект XmlReader.Creates a workflow instance by using the specified XmlReader.

CreateWorkflow(Type) CreateWorkflow(Type) CreateWorkflow(Type) CreateWorkflow(Type)

Создает новый экземпляр рабочего процесса, используя заданный тип рабочего процесса Type.Creates a new workflow instance by using the specified workflow Type.

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

Создает экземпляр рабочего процесса, используя указанный тип рабочего процесса Type и аргументы рабочего процесса, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.Creates a workflow instance by using the specified workflow Type and the arguments to the workflow contained in the specified Dictionary<TKey,TValue>.

Комментарии

Если механизм среды выполнения рабочих процессов не запущен, то методы CreateWorkflow вызывают метод StartRuntime.If the workflow run-time engine has not been started, the CreateWorkflow methods call StartRuntime. См. список возможных исключений в разделе StartRuntime.See StartRuntime for a list of possible exceptions. После создания экземпляра рабочего процесса вызовите метод WorkflowInstance.Start для объекта WorkflowInstance, возвращаемого методом CreateWorkflow, чтобы начать его выполнение.After you create the workflow instance, call WorkflowInstance.Start on the WorkflowInstance object returned by the CreateWorkflow method to begin its execution.

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

Создает экземпляр рабочего процесса, используя указанные параметры.Creates a workflow instance by using the specified parameters.

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 XmlReader XmlReader

Объект XmlReader, содержащий определение рабочего процесса.An XmlReader that contains the workflow definition.

rulesReader
XmlReader XmlReader XmlReader XmlReader

Объект XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Коллекция Dictionary<TKey,TValue> объектов, ключом которых является строка, представляющая аргументы рабочего процесса.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid Guid Guid Guid

Тип Guid конкретного создаваемого экземпляра WorkflowInstance.The Guid of the specific WorkflowInstance to create.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowType является неопределенной ссылкой (Nothing в Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Комментарии

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

Идентификаторы instanceId выполняемых рабочих процессов, загруженных объектом WorkflowRuntime, должны быть уникальными.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Если для создания рабочего процесса передается instanceId и выполняющийся рабочий процесс уже использует этот instanceId, то возникает исключение InvalidOperationException.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Пример передачи параметров CreateWorkflowв см. в разделе Рабочий процесс с примером параметров.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Пример использования правил, определенных в XML, см. в разделе Определение IfElse с помощью правил.For an example of using rules defined in XML, see IfElse with Rules Sample.

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

Создает экземпляр рабочего процесса, используя указанные параметры.Creates a workflow instance by using the specified parameters.

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 Type Type

Тип Type создаваемого рабочего процесса.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Коллекция Dictionary<TKey,TValue> объектов, ключом которых является строка, представляющая аргументы рабочего процесса.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid Guid Guid Guid

Тип Guid конкретного создаваемого экземпляра WorkflowInstance.The Guid of the specific WorkflowInstance to create.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowType является неопределенной ссылкой (Nothing в Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Комментарии

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

Идентификаторы instanceId выполняемых рабочих процессов, загруженных объектом WorkflowRuntime, должны быть уникальными.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Если для создания рабочего процесса передается instanceId и выполняющийся рабочий процесс уже использует этот instanceId, то возникает исключение InvalidOperationException.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Пример передачи параметров CreateWorkflowв см. в разделе Рабочий процесс с примером параметров.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

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

Создает экземпляр рабочего процесса, используя указанные объекты XmlReader и аргументы, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.Creates a workflow instance by using the specified XmlReader objects and the arguments contained in the specified 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 XmlReader XmlReader

Объект XmlReader, содержащий определение рабочего процесса.An XmlReader that contains the workflow definition.

rulesReader
XmlReader XmlReader XmlReader XmlReader

Объект XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Коллекция Dictionary<TKey,TValue> объектов, ключом которых является строка, представляющая аргументы рабочего процесса.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowDefinitionReader является неопределенной ссылкой (Nothing в Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

Комментарии

Экземпляр рабочего процесса создается из определения рабочего процесса, на которое ссылается объект XmlReader, и аргументов, предоставленных параметром namedArgumentValues.The workflow instance is created from the workflow definition referenced by the XmlReader and the arguments supplied by namedArgumentValues.

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

Пример передачи параметров CreateWorkflowв см. в разделе Рабочий процесс с примером параметров.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Пример использования правил, определенных в XML, см. в разделе Определение IfElse с помощью правил.For an example of using rules defined in XML, see IfElse with Rules Sample.

CreateWorkflow(XmlReader) CreateWorkflow(XmlReader) CreateWorkflow(XmlReader) CreateWorkflow(XmlReader)

Создает экземпляр рабочего процесса, используя заданный объект XmlReader.Creates a workflow instance by using the specified 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 XmlReader XmlReader

Объект XmlReader, содержащий определение рабочего процесса.An XmlReader that contains the workflow definition.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowDefinitionReader является неопределенной ссылкой (Nothing в Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

Примеры

В следующем примере показано создание рабочего процесса, для которого дано определение на языке XAML.The following example demonstrates how to create a workflow given a XAML-based workflow definition.

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();  
    }  
}  

Комментарии

Экземпляр рабочего процесса создается из файла определения рабочего процесса XAML, на который ссылается объект XmlReader.The workflow instance is created from a XAML workflow definition file referenced by the XmlReader.

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

CreateWorkflow(Type) CreateWorkflow(Type) CreateWorkflow(Type) CreateWorkflow(Type)

Создает новый экземпляр рабочего процесса, используя заданный тип рабочего процесса Type.Creates a new workflow instance by using the specified workflow 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 Type Type

Тип Type создаваемого рабочего процесса.The Type of the workflow to create.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowType является неопределенной ссылкой (Nothing в Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Примеры

В следующем примере кода показан способ, рекомендуемый для создания объекта WorkflowInstance в узле рабочего процесса с помощью метода CreateWorkflow.The following code example demonstrates the recommended way to create a WorkflowInstance object in a workflow host using the CreateWorkflow method.

Этот пример кода является частью примера отмены рабочего процесса .This code example is part of the Canceling a Workflow sample.

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

Комментарии

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

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

Создает экземпляр рабочего процесса, используя указанный тип рабочего процесса Type и аргументы рабочего процесса, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.Creates a workflow instance by using the specified workflow Type and the arguments to the workflow contained in the specified 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 Type Type

Тип Type создаваемого рабочего процесса.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Коллекция Dictionary<TKey,TValue> объектов, ключом которых является строка, представляющая аргументы рабочего процесса.A Dictionary<TKey,TValue> of objects keyed by string that represents the arguments to the workflow.

Возвраты

Созданий экземпляр рабочего процесса.The created workflow instance.

Исключения

Параметр workflowType является неопределенной ссылкой (Nothing в Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Комментарии

Перед созданием экземпляра WorkflowInstance выполняется его проверка.Before the WorkflowInstance is created, validation is executed on it. Если при проверке возникли какие-либо ошибки, то возникает исключение WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Этот подход хорошо работает в простых ситуациях, однако в серверных средах повторная проверка рабочего процесса для каждой активации может создать излишнюю нагрузку.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Дополнительные сведения об отключении проверки см. ValidateOnCreateв разделе.For more information about disabling validation, see ValidateOnCreate.

Пример передачи параметров CreateWorkflowв см. в разделе Рабочий процесс с примером параметров.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Применяется к