Novidades no Windows Foundation Workflow

O Windows Workflow Foundation (WF) no .NET Framework 4 altera vários paradigmas de desenvolvimento de versões anteriores. Fluxos de trabalho agora são mais fáceis de criar, executar e manter, e implementam um host da nova funcionalidade. Para obter mais informações sobre como migrar aplicativos de fluxo de trabalho .NET Framework 3.0 e .NET Framework 3.5 para usar a versão mais recente, consulte Orientação de migração.

Modelo de atividade de fluxo de trabalho

A atividade agora é a unidade base da criação de um fluxo de trabalho, em vez de usar as classes SequentialWorkflowActivity ou StateMachineWorkflowActivity. A classe Activity fornece a abstração básica do comportamento de fluxo de trabalho. Os autores de atividade podem implementar o CodeActivity para a funcionalidade básica de atividade personalizada ou NativeActivity para a funcionalidade de atividade personalizada que usa a largura do runtime. Activity é uma classe usada por autores de atividades para expressar novos comportamentos declarativamente em termos de outros objetos NativeActivity, CodeActivity, AsyncCodeActivity ou DynamicActivity, sejam eles desenvolvidos de forma personalizada ou incluídos no Biblioteca de atividades integrada.

Opções de atividades compostas avançadas

Flowchart é uma nova atividade avançada de fluxo de controle que permite que os autores modelem loops arbitrários e ramificação condicional. Flowchart fornece um modelo de programação orientada para evento que anteriormente somente podia ser implementada com StateMachineWorkflowActivity. Fluxos de trabalho de procedimentos aproveitam as novas atividades de controle de fluxo que modelam estruturas tradicionais de controle de fluxo, como TryCatch e Switch<T>.

Biblioteca interna expandida da atividade

Os novos recursos da biblioteca de atividade incluem:

Modelo de dados explícito de atividade

.NET Framework 4 inclui novas opções para armazenar ou mover dados. Os dados podem ser armazenados em uma atividade usando Variable. Ao mover dados dentro e fora de uma atividade, os tipos de argumento especializados são usados para determinar quais dados de direção estão movendo. Esses tipos são InArgument, InOutArgument e OutArgument. Para obter mais informações, consulte Modelo de dados do Windows Workflow Foundation.

Hospedagem aprimorada, persistência e opções de rastreamento

O .NET Framework 4 contém aprimoramentos de persistência, como os seguintes:

  • Há mais opções para executar fluxos de trabalho, inclusive WorkflowServiceHost, WorkflowApplication e WorkflowInvoker.

  • Os dados do estado de fluxo de trabalho podem ser persistidos usando a atividade Persist.

  • Um host pode persistir um ActivityInstance sem descarregá-lo.

  • Um fluxo de trabalho pode especificar zonas de não persistência enquanto trabalham com dados que não podem ser persistidos, de modo que a persistência é adiada até que a zona de não persistência seja encerrada.

  • As transações podem fluir em um fluxo de trabalho usando TransactionScope.

  • O rastreamento é obtido mais facilmente usando TrackingParticipant.

  • O rastreamento para o log de eventos do sistema é fornecido com EtwTrackingParticipant.

  • Retomar um fluxo de trabalho pendente é agora gerenciado usando um objeto Bookmark.

Maior capacidade de estender a experiência do WF Designer

O novo WF Designer foi criado no Windows Presentation Foundation (WPF) e fornece um modelo mais fácil de usar ao rehospedar o WF Designer fora do Visual Studio, além de fornecer mecanismos mais fáceis para criar designers de atividades personalizadas. Para obter mais informações, consulte Personalizando a experiência de design do fluxo de trabalho.