Partilhar via


WorkflowRuntime.CreateWorkflow Método

Definição

Cria uma instância do fluxo de trabalho usando os parâmetros especificados.

Sobrecargas

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

Cria uma instância do fluxo de trabalho usando os parâmetros especificados.

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

Cria uma instância do fluxo de trabalho usando os parâmetros especificados.

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

Cria uma instância de fluxo de trabalho usando os objetos XmlReader especificados e os argumentos contidos no Dictionary<TKey,TValue> especificado.

CreateWorkflow(XmlReader)

Cria uma instância do fluxo de trabalho usando o XmlReader especificado.

CreateWorkflow(Type)

Cria uma nova instância de fluxo de trabalho usando o Type do fluxo de trabalho especificado.

CreateWorkflow(Type, Dictionary<String,Object>)

Cria uma instância de fluxo de trabalho usando o Type do fluxo de trabalho especificado e os argumentos para o fluxo de trabalho contido no Dictionary<TKey,TValue> especificado.

Comentários

Se o mecanismo de tempo de execução do fluxo de trabalho não tiver sido iniciado, os CreateWorkflow métodos chamarão StartRuntime. Consulte StartRuntime uma lista de possíveis exceções. Depois de criar a instância de fluxo de trabalho, chame WorkflowInstance.Start o WorkflowInstance objeto retornado pelo CreateWorkflow método para iniciar sua execução.

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

Cria uma instância do fluxo de trabalho usando os 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

Um XmlReader que contém a definição de fluxo de trabalho.

rulesReader
XmlReader

Um XmlReader.

namedArgumentValues
Dictionary<String,Object>

Um Dictionary<TKey,TValue> de objetos inseridos por uma cadeia de caracteres que representa os argumentos para o fluxo de trabalho.

instanceId
Guid

O Guid do WorkflowInstance específico a ser criado.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowType é uma referência nula (Nothing no Visual Basic).

Comentários

Antes de ser criado, a WorkflowInstance validação é executada nele. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

O fluxo de instanceId trabalho para qualquer fluxo de trabalho em execução carregado pelo WorkflowRuntime deve ser exclusivo. Se você passar um instanceId para criar um fluxo de trabalho e um fluxo de trabalho em execução já estiver usando isso instanceId, um InvalidOperationException será gerado.

Para obter um exemplo de passagem de parâmetros para CreateWorkflow, consulte Fluxo de Trabalho com Exemplo de Parâmetros.

Para obter um exemplo de como usar regras definidas em XML, consulte IfElse com o Exemplo de Regras.

Aplica-se a

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

Cria uma instância do fluxo de trabalho usando os 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

O Type do fluxo de trabalho a ser criado.

namedArgumentValues
Dictionary<String,Object>

Um Dictionary<TKey,TValue> de objetos inseridos por uma cadeia de caracteres que representa os argumentos para o fluxo de trabalho.

instanceId
Guid

O Guid do WorkflowInstance específico a ser criado.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowType é uma referência nula (Nothing no Visual Basic).

Comentários

Antes de ser criado, a WorkflowInstance validação é executada nele. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

O fluxo de instanceId trabalho para qualquer fluxo de trabalho em execução carregado pelo WorkflowRuntime deve ser exclusivo. Se você passar um instanceId para criar um fluxo de trabalho e um fluxo de trabalho em execução já estiver usando isso instanceId, um InvalidOperationException será gerado.

Para obter um exemplo de passagem de parâmetros para CreateWorkflow, consulte Fluxo de Trabalho com Exemplo de Parâmetros.

Aplica-se a

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

Cria uma instância de fluxo de trabalho usando os objetos XmlReader especificados e os argumentos contidos no 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

Um XmlReader que contém a definição de fluxo de trabalho.

rulesReader
XmlReader

Um XmlReader.

namedArgumentValues
Dictionary<String,Object>

Um Dictionary<TKey,TValue> de objetos inseridos por uma cadeia de caracteres que representa os argumentos para o fluxo de trabalho.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowDefinitionReader é uma referência nula (Nothing no Visual Basic).

Comentários

A instância de fluxo de trabalho é criada a partir da definição de fluxo de trabalho referenciada pelos XmlReader argumentos fornecidos por namedArgumentValues.

Antes de ser criado, a WorkflowInstance validação é executada nele. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

Para obter um exemplo de passagem de parâmetros para CreateWorkflow, consulte Fluxo de Trabalho com Exemplo de Parâmetros.

Para obter um exemplo de como usar regras definidas em XML, consulte IfElse com o Exemplo de Regras.

Aplica-se a

CreateWorkflow(XmlReader)

Cria uma instância do fluxo de trabalho usando o 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

Um XmlReader que contém a definição de fluxo de trabalho.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowDefinitionReader é uma referência nula (Nothing no Visual Basic).

Exemplos

O exemplo a seguir demonstra como criar um fluxo de trabalho, considerando uma definição de fluxo de trabalho baseada em 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();  
    }  
}  

Comentários

A instância de fluxo de trabalho é criada a partir de um arquivo de definição de fluxo de trabalho XAML referenciado pelo XmlReader.

Antes da criação, a WorkflowInstance validação é executada nela. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

Aplica-se a

CreateWorkflow(Type)

Cria uma nova instância de fluxo de trabalho usando o Type do fluxo de trabalho 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

O Type do fluxo de trabalho a ser criado.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowType é uma referência nula (Nothing no Visual Basic).

Exemplos

O exemplo de código a seguir demonstra a maneira recomendada de criar um WorkflowInstance objeto em um host de fluxo de trabalho usando o CreateWorkflow método.

Este exemplo de código faz parte do exemplo Canceling a Workflow .

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

Comentários

Antes da criação, a WorkflowInstance validação é executada nela. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

Aplica-se a

CreateWorkflow(Type, Dictionary<String,Object>)

Cria uma instância de fluxo de trabalho usando o Type do fluxo de trabalho especificado e os argumentos para o fluxo de trabalho contido no 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

O Type do fluxo de trabalho a ser criado.

namedArgumentValues
Dictionary<String,Object>

Um Dictionary<TKey,TValue> de objetos inseridos pela cadeia de caracteres que representa os argumentos para o fluxo de trabalho.

Retornos

WorkflowInstance

A instância de fluxo de trabalho criada.

Exceções

workflowType é uma referência nula (Nothing no Visual Basic).

Comentários

Antes da criação, a WorkflowInstance validação é executada nela. Se ocorrerem erros de validação, será WorkflowValidationFailedException gerado. Isso funciona bem para cenários simples, mas em um ambiente de servidor, revalidar um fluxo de trabalho para cada ativação pode ser uma sobrecarga desnecessária.

Para obter mais informações sobre como desabilitar a validação, consulte ValidateOnCreate.

Para obter um exemplo de passagem de parâmetros para CreateWorkflow, consulte Fluxo de Trabalho com Exemplo de Parâmetros.

Aplica-se a