WorkflowRuntime.CreateWorkflow Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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
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
- 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
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
- 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
La instancia de flujo de trabajo creada.
Excepciones
workflowDefinitionReader
es una referencia nula (Nothing
en Visual Basic).
Se eliminará WorkflowRuntime.
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
Devoluciones
La instancia de flujo de trabajo creada.
Excepciones
workflowDefinitionReader
es una referencia nula (Nothing
en Visual Basic).
Se eliminará WorkflowRuntime.
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
Devoluciones
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
- namedArgumentValues
- Dictionary<String,Object>
Un Dictionary<TKey,TValue> de objetos con clave por cadena que representa los argumentos para el flujo de trabajo.
Devoluciones
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.