O que há de novo no Windows Workflow Foundation
O Windows Workflow Foundation (WF) no .NET Framework 4 altera vários paradigmas de desenvolvimento de versões anteriores. Os fluxos de trabalho agora são mais fáceis de criar, executar e manter, além de implementar uma série de novas funcionalidades. Para obter mais informações sobre como migrar aplicativos de fluxo de trabalho do .NET Framework 3.0 e do .NET Framework 3.5 para usar a versão mais recente, consulte Migration Guidance.
Modelo de atividade do 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 de base do comportamento do fluxo de trabalho. Os autores de atividades podem então implementar CodeActivity para a funcionalidade de atividade personalizada básica ou NativeActivity para a funcionalidade de atividade personalizada que usa a amplitude do tempo de execução. Activity é uma classe usada por autores de atividades para expressar novos comportamentos declarativamente em termos de outros objetos NativeActivity, CodeActivity, AsyncCodeActivityou DynamicActivity, sejam eles desenvolvidos sob medida ou incluídos na Biblioteca de Atividades Built-In.
Opções ricas de atividades compostas
Flowchart é uma nova e poderosa atividade de fluxo de controle que permite aos autores modelar loops arbitrários e ramificações condicionais. Flowchart fornece um modelo de programação orientado a eventos que anteriormente só podia ser implementado com StateMachineWorkflowActivity. Fluxos de trabalho procedimentais beneficiam-se de novas atividades de controlo de fluxo que modelam estruturas tradicionais de controlo de fluxo, como TryCatch e Switch<T>.
Biblioteca de atividades Built-In expandida
As novas funcionalidades da biblioteca de atividades incluem:
Novas atividades de controle de fluxo, como DoWhile, Pick, TryCatch, ForEach<T>, Switch<T>e ParallelForEach<T>.
Atividades para manipular dados de membros, como Assign e atividades de coleta, como AddToCollection<T>.
Atividades de controle de transações, como TransactionScope e Compensate.
Novas atividades de mensagens, como SendContent e ReceiveReply.
Modelo de dados de atividade explícito
O .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 para dentro e para fora de uma atividade, tipos de argumento especializados são usados para determinar em que direção os dados estão se movendo. Esses tipos são InArgument, InOutArgumente OutArgument. Para obter mais informações, consulte Modelo de Dados do Windows Workflow Foundation.
Opções aprimoradas de hospedagem, persistência e rastreamento
O .NET Framework 4 contém aprimoramentos de persistência, como os seguintes:
Há mais opções para executar fluxos de trabalho, incluindo WorkflowServiceHost, WorkflowApplicatione WorkflowInvoker.
Os dados de estado do fluxo de trabalho podem ser explicitamente persistidos usando a atividade Persist.
Um host pode persistir um ActivityInstance sem descarregá-lo.
Um fluxo de trabalho pode especificar zonas sem persistência enquanto trabalha com dados que não podem ser persistentes, de modo que a persistência seja adiada até que a zona sem persistência saia.
As transações podem ser encaminhadas para um fluxo de trabalho usando TransactionScope.
O rastreamento é mais facilmente realizado usando TrackingParticipant.
O registo no log de eventos do sistema é efetuado através do uso de EtwTrackingParticipant.
Retomar um fluxo de trabalho pendente agora é gerenciado usando um objeto Bookmark.
Capacidade mais fácil de estender a experiência do WF Designer
O novo WF Designer é baseado no Windows Presentation Foundation (WPF) e fornece um modelo mais fácil de usar ao rehospedar o WF Designer fora do Visual Studio e também fornece 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.