Compartir a través de


WorkflowRuntime.CreateWorkflow Método

Definición

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.

Sobrecargas

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.

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.

CreateWorkflow(XmlReader)

Crea una instancia de flujo de trabajo utilizando el XmlReader especificado.

CreateWorkflow(Type)

Crea una nueva instancia de flujo de trabajo utilizando el Typedel flujo de trabajo especificado.

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.

Comentarios

Si el motor en tiempo de ejecución de flujo de trabajo no se inició, los métodos CreateWorkflow llaman a StartRuntime. Consulte StartRuntime para obtener una lista de posibles excepciones. 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.

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.

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.

rulesReader
XmlReader

Una clase 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.

instanceId
Guid

Guid de WorkflowInstance específico que se va a crear.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

instanceId del flujo de trabajo para los flujos de trabajo en ejecución cargados por WorkflowRuntime deben ser únicos. 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.

Para obtener un ejemplo de cómo pasar parámetros a CreateWorkflow, vea Flujo de trabajo con el ejemplo de parámetros.

Para obtener un ejemplo de uso de reglas definidas en XML, vea IfElse with Rules Sample.

Se aplica a

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

Crea una instancia de flujo de trabajo utilizando los parámetros especificados.

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.

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.

instanceId
Guid

Guid de WorkflowInstance específico que se va a crear.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

instanceId del flujo de trabajo para los flujos de trabajo en ejecución cargados por WorkflowRuntime deben ser únicos. 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.

Para obtener un ejemplo de cómo pasar parámetros a CreateWorkflow, vea Flujo de trabajo con el ejemplo de parámetros.

Se aplica a

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.

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.

rulesReader
XmlReader

Una clase 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.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowDefinitionReader es una referencia nula (Nothing en 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.

Antes de que se cree WorkflowInstance, se ejecuta en él la validación. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

Para obtener un ejemplo de cómo pasar parámetros a CreateWorkflow, vea Flujo de trabajo con el ejemplo de parámetros.

Para obtener un ejemplo de uso de reglas definidas en XML, vea IfElse with Rules Sample.

Se aplica a

CreateWorkflow(XmlReader)

Crea una instancia de flujo de trabajo utilizando el XmlReader especificado.

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.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowDefinitionReader es una referencia nula (Nothing en 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.

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.

Antes de que se cree WorkflowInstance, se ejecuta en él la validación. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

Se aplica a

CreateWorkflow(Type)

Crea una nueva instancia de flujo de trabajo utilizando el Typedel flujo de trabajo especificado.

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.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowType es una referencia nula (Nothing en 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.

Este ejemplo de código forma parte del ejemplo Cancelar un flujo de trabajo .

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. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

Se aplica a

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.

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.

namedArgumentValues
Dictionary<String,Object>

Un Dictionary<TKey,TValue> de objetos con clave por cadena que representa los argumentos para el flujo de trabajo.

Devoluciones

WorkflowInstance

La instancia de flujo de trabajo creada.

Excepciones

workflowType es una referencia nula (Nothing en Visual Basic).

Comentarios

Antes de que se cree WorkflowInstance, se ejecuta en él la validación. Si se producen errores de validación, se inicia WorkflowValidationFailedException. 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.

Para obtener más información sobre cómo deshabilitar la validación, vea ValidateOnCreate.

Para obtener un ejemplo de cómo pasar parámetros a CreateWorkflow, vea Flujo de trabajo con el ejemplo de parámetros.

Se aplica a