Compartilhar via


Configuração e variáveis externas do Workflow Manager Tools 1.0

 

Publicado: março de 2016

O Workflow Manager 1.0 fornece a funcionalidade de definir valores de configuração para serem usados durante a execução, permitindo as melhores e mais comuns práticas recomendadas ao modelar processos, como evitar parâmetros de hard-coding que podem se alterar dentro de um definição de programa (nesse caso, um fluxo de trabalho).Os autores de aplicativos de fluxo de trabalho podem definir as configurações de aplicativos associadas com uma definição de fluxo de trabalho.Estas configurações de aplicativos são uma lista de pares chave-valor e têm um conceito parecido com o .NET AppSettings.Essa lista pode conter qualquer conjunto de chaves e valores para representar as informações relevantes para o fluxo de trabalho.

Neste tópico

  • Definindo configurações

  • Usando informações de configuração em um Workflow

  • ExternalVariables e UserStatus

  • ExternalVariables vs. Configuração

Definindo configurações

As definições de configuração do aplicativo são estabelecidas ao nível da definição de fluxo de trabalho através de WorkflowDescription.Configuration.O código abaixo demonstra um exemplo de como definir as configurações do aplicativo (adicionando itens à coleção de AppSettings do WorkflowConfiguration).

sampleConfigValueWorkflow.Configuration = new WorkflowConfiguration();
sampleConfigValueWorkflow.Configuration.AppSettings.Add("configSetting1", "configuration value");      
sampleConfigValueWorkflow.Configuration.AppSettings.Add("anotherConfigSetting", "another value");      

Observação

O WorkflowConfiguration fornece outras definições de configuração que não são utilizáveis diretamente a partir do modelo de programação no WF, como as opções de limitação.

Uma configuração de fluxo de trabalho padrão pode ser definida para todos os fluxos de trabalho em um determinado escopo, definindo um objeto do WorkflowConfiguration para ScopeInfo.DefaultWorkflowConfiguration.Quando essa configuração padrão é definida, todas as WorkflowDefinitions no escopo usarão essas configurações.O WorkflowDefinitions pode substitur fornecendo suas próprias WorkflowConfiguration.

Usando informações de configuração em um Workflow

A atividade GetConfigurationValue permite que os criadores de fluxo de trabalho consumam as Configurações do aplicativo de configuração para um determinado fluxo de trabalho.O GetConfigurationValue aceita o nome da configuração do aplicativo e uma variável de saída onde armazenar a configuração do aplicativo.Ela também aceita um valor padrão opcional, esse valor será atribuído para a variável de saída caso a configuração de aplicativo solicitada não seja encontrada.O fluxo de trabalho na seguinte captura de tela demonstra uma GetConfigurationActivity que usa a configuração configSetting1 especificada no exemplo anterior.

Workflow Configuration Activity Properties

ExternalVariables e UserStatus

ExternalVariables permitem aos autores de fluxo de trabalho modelar um estado global dentro de um fluxo de trabalho.ExternalVariables são adicionadas ao WorkflowDefinition usando a propriedade ExternalVariables e são visíveis por todas as atividades dentro do fluxo de trabalho.Isso significa que essas variáveis serão visíveis para todas as implementações filho do fluxo de trabalho, incluindo a implementação das atividades personalizadas usadas nele.ExternalVariables podem ser de qualquer tipo permitido nos fluxos de trabalho (tipos na lista de tipos permitidos).

Observação

Para tipos permitidos do Para obter mais informações sobre, consulte Superfície confiável do Workflow Manager Tools 1.0.

ExternalVariables podem ser mapeadas.Isso significa que quando o fluxo de trabalho é mantido, eles podem ser acessados usando WorkflowInstanceInfo.MappedVariables.Se uma ExternalVariable não for marcada como mapeada, ela será salva como parte do estado da instância, mas não será acessível usando WorkflowInstanceInfo.

Os valores de ExternalVariable são acessados usando a atividade ExternalVariableValue<T>.Para definir o valor de uma ExternalVariable, ExternalVariableReference<T> é usado como um L-Value (por exemplo, em Assign).

Observação

ExternalVariableValue<T> é suportado no designer de fluxo de trabalho, mas atualmente ExternalVariableReference<T> apenas é suportado em código.

O Workflow Manager 1.0 também introduz uma ExternalVariable mapeada de primeira classe chamada UserStatus (acessada usando a propriedade UserStatus) e uma atividade para defini-la a partir do fluxo de trabalho chamado SetUserStatus.Isso fornece uma experiência de introdução básica para usar ExternalVariables no caso mais comum, onde apenas uma única ExternalVariable é necessária.

ExternalVariables vs. Configuração

A seguinte tabela compara os recursos de Configuração de Workflow e ExternalVariables.

Recurso

Configuração

ExternalVariables

Granularidade

Definição ou superior (por exemplo, Escopo)

Instância

Tipos permitidos

Cadeia de caracteres

Qualquer tipo na lista de tipos permitidos

Pode ser alterado pela instância de fluxo de trabalho

Não

Sim

Superfície de atividade

GetConfigurationValue

ExternalVariablesValue<T>

ExternalVariableReference<T>

Pode ser mapeada

Não

Sim