Partilhar via


WorkflowRuntime Construtores

Definição

Inicializa uma nova instância da classe WorkflowRuntime.

Sobrecargas

WorkflowRuntime()

Inicializa uma nova instância da classe WorkflowRuntime.

WorkflowRuntime(String)

Inicializa uma nova instância da classe WorkflowRuntime usando a seção especificada do arquivo de configuração de aplicativo.

WorkflowRuntime(WorkflowRuntimeSection)

Inicializa uma nova instância da classe WorkflowRuntime usando o as configurações no WorkflowRuntimeSection especificado.

WorkflowRuntime()

Inicializa uma nova instância da classe WorkflowRuntime.

public:
 WorkflowRuntime();
public WorkflowRuntime ();
Public Sub New ()

Exemplos

O exemplo de código a seguir demonstra como você pode usar WorkflowRuntime a funcionalidade de um host de fluxo de trabalho. Ele fornece um exemplo de como usar o WorkflowRuntime construtor para criar uma instância de um WorkflowRuntime e acessar seus métodos e eventos.

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

static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}
Shared Sub Main()
    Dim connectionString As String = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;"
    Using workflowRuntime As New WorkflowRuntime()
        Dim dataService As New ExternalDataExchangeService()
        workflowRuntime.AddService(dataService)
        dataService.AddService(expenseService)

        workflowRuntime.AddService(New SqlWorkflowPersistenceService(connectionString))


        AddHandler workflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
        AddHandler workflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
        AddHandler workflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
        AddHandler workflowRuntime.WorkflowAborted, AddressOf OnWorkflowAborted


        Dim workflowInstance As WorkflowInstance
        workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
        workflowInstance.Start()

        waitHandle.WaitOne()

        workflowRuntime.StopRuntime()
    End Using
End Sub

Comentários

O WorkflowRuntime é inicializado com os valores de propriedade padrão e contém os serviços principais padrão. Além disso, para configurar o mecanismo de tempo de execução do fluxo de trabalho, você pode adicionar e remover serviços usando AddService e RemoveService, e você pode definir Name. Após a WorkflowRuntime configuração, chame StartRuntime para iniciar o mecanismo de tempo de execução do fluxo de trabalho e seus serviços.

A tabela a seguir mostra valores de propriedade iniciais para uma instância de WorkflowRuntime classe.

Propriedade Valor inicial
Name "WorkflowRuntime"
IsStarted false

Os serviços principais padrão são DefaultWorkflowCommitWorkBatchService e DefaultWorkflowSchedulerService.

Aplica-se a

WorkflowRuntime(String)

Inicializa uma nova instância da classe WorkflowRuntime usando a seção especificada do arquivo de configuração de aplicativo.

public:
 WorkflowRuntime(System::String ^ configSectionName);
public WorkflowRuntime (string configSectionName);
new System.Workflow.Runtime.WorkflowRuntime : string -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (configSectionName As String)

Parâmetros

configSectionName
String

O nome da seção workflowSettings válida no arquivo de configuração de aplicativo.

Exceções

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

Não foi possível encontrar uma seção workflowSettings válida no arquivo de configuração de aplicativo.

Um WorkflowRuntime já existe para este domínio do aplicativo.

Comentários

O WorkflowRuntime valor é inicializado de acordo com as configurações na seção especificada no configSectionName arquivo de configuração do aplicativo. configSectionName deve corresponder a uma seção válida workflowSettings de um arquivo de configuração.

Quando o mecanismo de tempo de execução do fluxo de trabalho é configurado usando um arquivo de configuração de aplicativo, ele carrega e instancia classes dos tipos listados na Services seção do arquivo de configuração. Quando o mecanismo de tempo de execução do fluxo de trabalho constrói essas classes, ele procura construtores de classe com as seguintes assinaturas na seguinte ordem:

  1. Service(WorkflowRuntime runtime, parâmetros NameValueCollection)

  2. Service(WorkflowRuntime runtime)

  3. Service(Parâmetros NameValueCollection)

  4. Service()

Todas as classes de serviço carregadas de um arquivo de configuração devem implementar pelo menos uma dessas assinaturas de construtor.

Para obter mais informações, consulte WorkflowRuntimeSection.

Aplica-se a

WorkflowRuntime(WorkflowRuntimeSection)

Inicializa uma nova instância da classe WorkflowRuntime usando o as configurações no WorkflowRuntimeSection especificado.

public:
 WorkflowRuntime(System::Workflow::Runtime::Configuration::WorkflowRuntimeSection ^ settings);
public WorkflowRuntime (System.Workflow.Runtime.Configuration.WorkflowRuntimeSection settings);
new System.Workflow.Runtime.WorkflowRuntime : System.Workflow.Runtime.Configuration.WorkflowRuntimeSection -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (settings As WorkflowRuntimeSection)

Parâmetros

Exceções

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

Um WorkflowRuntime já existe para este domínio do aplicativo.

Comentários

Esse construtor fornece um mecanismo para configurar o mecanismo de tempo de execução do fluxo de trabalho usando uma única chamada de método para hosts que não usam um arquivo de configuração de aplicativo. Há muitos motivos para não usar o arquivo de configuração do aplicativo. Um host pode ser executado em um ambiente que não permite o uso de arquivos de configuração; por exemplo, em ambientes confiáveis que não permitem a leitura do arquivo de configuração do aplicativo por motivos de segurança. Além disso, um host pode usar um mecanismo de configuração proprietário; por exemplo, o host pode armazenar as configurações do mecanismo de tempo de execução do fluxo de trabalho em um banco de dados SQL.

O mecanismo de tempo de execução do fluxo de trabalho carrega e instancia classes dos tipos contidos em WorkflowRuntimeSection.Services. Quando o mecanismo de tempo de execução do fluxo de trabalho constrói essas classes, ele procura construtores de classe com as seguintes assinaturas na seguinte ordem:

  1. Service(WorkflowRuntime runtime, parâmetros NameValueCollection)

  2. Service(WorkflowRuntime runtime)

  3. Service(Parâmetros NameValueCollection)

  4. Service()

Todas as classes de serviço especificadas settings devem implementar pelo menos uma dessas assinaturas de construtor.

Aplica-se a