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.
A persistência de fluxo de trabalho é a captura durável do estado de uma instância de fluxo de trabalho, independentemente de informações de processo ou computador. Isso é feito para fornecer um ponto de recuperação bem conhecido para a instância de fluxo de trabalho em caso de falha do sistema, para preservar a memória descarregando instâncias de fluxo de trabalho que não estão trabalhando ativamente ou para mover o estado da instância de fluxo de trabalho de um nó para outro em uma fazenda de servidores.
A persistência permite agilidade do processo, escalabilidade, recuperação diante de falhas e a capacidade de gerenciar a memória com mais eficiência. O processo de persistência inclui a identificação de um ponto de persistência, a coleta dos dados a serem salvos e, por fim, a delegação do armazenamento real dos dados para um provedor de persistência.
Para habilitar a persistência para um fluxo de trabalho, você precisa associar um repositório de instâncias ao WorkflowApplication ou WorkflowServiceHost , conforme mencionado em How to: Enable Persistence for Workflows and Workflow Services. O WorkflowApplication e o WorkflowServiceHost usam o repositório de instâncias associado a eles para habilitar a persistência de instâncias de fluxo de trabalho em um repositório de persistência e carregar instâncias de fluxo de trabalho na memória com base nos dados da instância de fluxo de trabalho armazenados no repositório de persistência.
O .NET Framework 4.6.1 é fornecido com a classe SqlWorkflowInstanceStore , que permite a persistência de dados e metadados sobre instâncias de fluxo de trabalho em um banco de dados SQL Server 2005 ou SQL Server 2008. Consulte o Repositório de Instâncias de Fluxo de Trabalho do SQL para obter mais detalhes.
Para armazenar e carregar dados específicos do aplicativo junto com as informações relacionadas à instância de fluxo de trabalho, você pode criar participantes de persistência que estendem a PersistenceParticipant classe. Um participante de persistência participa do processo de persistência para salvar dados serializáveis personalizados no repositório de persistência, para carregar os dados do armazenamento de instância na memória e para executar qualquer lógica adicional em uma transação de persistência. Para obter mais informações, consulte Participantes de Persistência.
O Windows Server App Fabric simplifica o processo de configuração da persistência. Para obter mais informações, consulte Conceitos de persistência com o Windows Server App Fabric
Pontos de persistência implícitos
A lista a seguir contém exemplos das condições nas quais um fluxo de trabalho é persistente quando um repositório de instâncias é associado a um fluxo de trabalho.
Quando uma atividade TransactionScope é concluída ou uma atividade TransactedReceiveScope é concluída.
Quando uma instância de fluxo de trabalho fica ociosa e o WorkflowIdleBehavior é definido no host de fluxo de trabalho. Isso ocorre, por exemplo, quando você usa atividades de mensagens ou uma atividade Delay.
Quando um WorkflowApplication fica ocioso e a propriedade PersistableIdle do aplicativo é definida como PersistableIdleAction.Persist.
Quando um aplicativo host é instruído a persistir ou descarregar uma instância de fluxo de trabalho.
Quando uma instância de fluxo de trabalho é encerrada ou concluída.
Quando uma atividade Persist é executada.
Quando uma instância de um fluxo de trabalho desenvolvida usando uma versão anterior do Windows Workflow Foundation encontra um ponto de persistência durante a execução interoperável.