WorkflowRuntime.CreateWorkflow Método

Definición

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.Creates a workflow instance by using the specified parameters.

Sobrecargas

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.Creates a workflow instance by using the specified parameters.

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.Creates a workflow instance by using the specified parameters.

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

Crea una instancia de flujo de trabajo utilizando los objetos XmlReader y los argumentos contenidos en el Dictionary<TKey,TValue> especificado.Creates a workflow instance by using the specified XmlReader objects and the arguments contained in the specified Dictionary<TKey,TValue>.

CreateWorkflow(XmlReader)

Crea una instancia de flujo de trabajo utilizando el XmlReader especificado.Creates a workflow instance by using the specified XmlReader.

CreateWorkflow(Type)

Crea una nueva instancia de flujo de trabajo utilizando el Typedel flujo de trabajo especificado.Creates a new workflow instance by using the specified workflow Type.

CreateWorkflow(Type, Dictionary<String,Object>)

Crea una instancia de flujo de trabajo utilizando los Type del flujo de trabajo especificados y los argumentos al flujo de trabajo contenido en el Dictionary<TKey,TValue> especificado.Creates a workflow instance by using the specified workflow Type and the arguments to the workflow contained in the specified Dictionary<TKey,TValue>.

Comentarios

Si el motor en tiempo de ejecución de flujo de trabajo no se inició, los métodos CreateWorkflow llaman a StartRuntime.If the workflow run-time engine has not been started, the CreateWorkflow methods call StartRuntime. Consulte StartRuntime para obtener una lista de posibles excepciones.See StartRuntime for a list of possible exceptions. Después de crear la instancia de flujo de trabajo, llame WorkflowInstance.Start en el objeto WorkflowInstance devuelto por el método CreateWorkflow para comenzar su ejecución.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)

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.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

Parámetros

workflowDefinitionReader
XmlReader

XmlReader que contiene la definición de flujo de trabajo.An XmlReader that contains the workflow definition.

rulesReader
XmlReader

Una clase XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Un Dictionary<TKey,TValue> de objetos con clave asignada por una cadena que representa los argumentos para el flujo de trabajo.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid

Guid de WorkflowInstance específico que se va a crear.The Guid of the specific WorkflowInstance to create.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

instanceId del flujo de trabajo para los flujos de trabajo en ejecución cargados por WorkflowRuntime deben ser únicos.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Si usted pasa un instanceId para crear un flujo de trabajo y un flujo de trabajo en ejecución ya lo está utilizando instanceId, se iniciará un InvalidOperationException.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Para obtener un ejemplo de cómo pasar parámetros CreateWorkflowa, consulte el ejemplo de flujo de trabajo con parámetros.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Para obtener un ejemplo del uso de reglas definidas en XML, consulte ifelse with rules Sample.For an example of using rules defined in XML, see IfElse with Rules Sample.

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.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

Parámetros

workflowType
Type

El Type del flujo de trabajo que se va a crear.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Un Dictionary<TKey,TValue> de objetos con clave asignada por una cadena que representa los argumentos para el flujo de trabajo.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid

Guid de WorkflowInstance específico que se va a crear.The Guid of the specific WorkflowInstance to create.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

instanceId del flujo de trabajo para los flujos de trabajo en ejecución cargados por WorkflowRuntime deben ser únicos.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Si usted pasa un instanceId para crear un flujo de trabajo y un flujo de trabajo en ejecución ya lo está utilizando instanceId, se iniciará un InvalidOperationException.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Para obtener un ejemplo de cómo pasar parámetros CreateWorkflowa, consulte el ejemplo de flujo de trabajo con parámetros.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

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

Crea una instancia de flujo de trabajo utilizando los objetos XmlReader y los argumentos contenidos en el Dictionary<TKey,TValue> especificado.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

Parámetros

workflowDefinitionReader
XmlReader

XmlReader que contiene la definición de flujo de trabajo.An XmlReader that contains the workflow definition.

rulesReader
XmlReader

Una clase XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Un Dictionary<TKey,TValue> de objetos con clave asignada por una cadena que representa los argumentos para el flujo de trabajo.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowDefinitionReader es una referencia nula (Nothing en Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

Comentarios

La instancia de flujo de trabajo se crea a partir de la definición de flujo de trabajo a la cual hace referencia XmlReader y los argumentos proporcionados por namedArgumentValues.The workflow instance is created from the workflow definition referenced by the XmlReader and the arguments supplied by namedArgumentValues.

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

Para obtener un ejemplo de cómo pasar parámetros CreateWorkflowa, consulte el ejemplo de flujo de trabajo con parámetros.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Para obtener un ejemplo del uso de reglas definidas en XML, consulte ifelse with rules Sample.For an example of using rules defined in XML, see IfElse with Rules Sample.

CreateWorkflow(XmlReader)

Crea una instancia de flujo de trabajo utilizando el XmlReader especificado.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

Parámetros

workflowDefinitionReader
XmlReader

XmlReader que contiene la definición de flujo de trabajo.An XmlReader that contains the workflow definition.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowDefinitionReader es una referencia nula (Nothing en Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

Ejemplos

El ejemplo siguiente muestra cómo crear un flujo de trabajo determinado a partir de una definición de flujo de trabajo basada en XAML determinada.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();  
    }  
}  

Comentarios

La instancia de flujo de trabajo se crea a partir de un archivo de definición de flujo de trabajo XAML al cual hace referencia XmlReader.The workflow instance is created from a XAML workflow definition file referenced by the XmlReader.

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

CreateWorkflow(Type)

Crea una nueva instancia de flujo de trabajo utilizando el Typedel flujo de trabajo especificado.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

Parámetros

workflowType
Type

El Type del flujo de trabajo que se va a crear.The Type of the workflow to create.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Ejemplos

El ejemplo de código siguiente muestra cuál es la manera recomendada para crear un objeto WorkflowInstance en un host de flujo de trabajo mediante el método CreateWorkflow.The following code example demonstrates the recommended way to create a WorkflowInstance object in a workflow host using the CreateWorkflow method.

Este ejemplo de código forma parte del ejemplo de cancelación de un flujo de trabajo .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()

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

CreateWorkflow(Type, Dictionary<String,Object>)

Crea una instancia de flujo de trabajo utilizando los Type del flujo de trabajo especificados y los argumentos al flujo de trabajo contenido en el Dictionary<TKey,TValue> especificado.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

Parámetros

workflowType
Type

El Type del flujo de trabajo que se va a crear.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Un Dictionary<TKey,TValue> de objetos con clave por cadena que representa los argumentos para el flujo de trabajo.A Dictionary<TKey,TValue> of objects keyed by string that represents the arguments to the workflow.

Devoluciones

La instancia de flujo de trabajo creada.The created workflow instance.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación.Before the WorkflowInstance is created, validation is executed on it. Si se producen errores de validación, se inicia WorkflowValidationFailedException.If any validation errors occur, the WorkflowValidationFailedException is thrown. Esto funciona bien para los escenarios simples, pero en un entorno del servidor, volver a validar un flujo de trabajo para cada activación podría sobrecargarse de forma innecesaria.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Para obtener más información acerca de cómo deshabilitar ValidateOnCreatela validación, vea.For more information about disabling validation, see ValidateOnCreate.

Para obtener un ejemplo de cómo pasar parámetros CreateWorkflowa, consulte el ejemplo de flujo de trabajo con parámetros.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Se aplica a