Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um fluxo de trabalho é um conjunto de unidades elementais chamadas atividades que são armazenadas como um modelo que descreve um processo do mundo real. Os fluxos de trabalho fornecem uma maneira de descrever a ordem de execução e as relações dependentes entre partes do trabalho de curta ou longa execução. Esse trabalho passa pelo modelo do início ao fim e as atividades podem ser executadas por pessoas ou por funções do sistema.
Motor de execução de fluxo de trabalho
Cada instância de fluxo de trabalho em execução é criada e mantida por um mecanismo em tempo de execução em processo com o qual o processo de host interage por meio de um dos seguintes:
WorkflowInvoker, que chama o fluxo de trabalho como um método.
A WorkflowApplication para controle explícito sobre a execução de uma única instância de fluxo de trabalho.
WorkflowServiceHost para interações mensagem- com base em cenários de várias instâncias.
Cada uma dessas classes encapsula o tempo de execução (runtime) de atividade principal, representado como ActivityInstance, responsável pela execução da atividade. Pode haver vários ActivityInstance objetos em um domínio de aplicativo em execução simultânea.
Cada um dos três objetos de interação de host anteriores é criado a partir de uma árvore de atividades conhecida como um programa de fluxo de trabalho. Usando esses tipos ou um host personalizado que encapsula ActivityInstance, os fluxos de trabalho podem ser executados em qualquer processo do Windows, incluindo aplicativos de console, aplicativos baseados em formulários, Serviços do Windows, sites ASP.NET e serviços do Windows Communication Foundation (WCF).
Componentes de fluxo de trabalho no processo principal
Interação entre componentes de fluxo de trabalho
O diagrama a seguir demonstra como os componentes de fluxo de trabalho interagem entre si.
No diagrama anterior, o Invoke método da WorkflowInvoker classe é usado para invocar várias instâncias de fluxo de trabalho. WorkflowInvoker é usado para fluxos de trabalho leves que não precisam de gerenciamento do host; fluxos de trabalho que precisam de gerenciamento do host (como Bookmark a retomada) devem ser executados usando Run em vez disso. Não é necessário aguardar a conclusão de uma instância de fluxo de trabalho antes de invocar outra; O mecanismo de runtime dá suporte à execução de várias instâncias de fluxo de trabalho simultaneamente. Os fluxos de trabalho invocados são os seguintes:
Uma atividade de Sequence que contém uma atividade do filho de WriteLine . Variable de atividade pai é associado a InArgument de atividade filho. Para obter mais informações sobre variáveis, argumentos e associação, consulte Variáveis e Argumentos.
Uma atividade
ReadLine
personalizado chamado. OutArgument de atividade deReadLine
é retornado para o método chamando de Invoke .Uma atividade personalizada que deriva da CodeActivity classe abstrata. CodeActivity pode acessar os recursos de tempo de execução (como o rastreamento e as propriedades) que usam CodeActivityContext que está disponível como um parâmetro do método de Execute . Para obter mais informações sobre esses recursos em tempo de execução, consulte Acompanhamento e Rastreamento do Fluxo de Trabalho e Propriedades de Execução do Fluxo de Trabalho.