Suporte para novos recursos do Workflow Foundation 4.5 no Designer de Fluxo de Trabalho Rehospedado
O Windows Workflow Foundation (WF) no .NET Framework 4.5 introduziu muitos recursos novos, incluindo vários aprimoramentos na experiência do designer de fluxo de trabalho. Este tópico detalha quais desses recursos são suportados no designer rehospedado e quais não são suportados no momento.
Nota
Para obter uma lista de todos os novos recursos do Windows Workflow Foundation (WF) introduzidos no .NET Framework 4.5, incluindo aqueles que não estão relacionados à rehospedagem do designer, consulte O que há de novo no Windows Workflow Foundation no .NET Framework 4.5.
Atividades
A biblioteca de atividades integrada contém novas atividades e novos recursos para atividades existentes. Todas essas novas atividades são suportadas no designer rehospedado. Para obter mais informações sobre essas novas atividades, consulte a seção Atividades de Novidades no Windows Workflow Foundation no .NET Framework 4.5.
Expressões em C#
Antes do .NET Framework 4.5, todas as expressões em fluxos de trabalho só podiam ser escritas em Visual Basic. No .NET Framework 4.5, expressões do Visual Basic são usadas apenas para projetos criados usando o Visual Basic. Projetos Visual C# agora usam C# para expressões. Ao criar fluxos de trabalho no Visual Studio 2012, um editor de expressão C# totalmente funcional é fornecido com recursos como realce gramatical e intellisense. Os projetos de fluxo de trabalho C# criados em versões anteriores que usam expressões do Visual Basic continuarão a funcionar.
Aviso
Não há suporte para expressões C# no designer rehospedado.
Novos recursos de designer
Pesquisa de Designer
Os recursos de Localização Rápida e Localização em Arquivos introduzidos com o .NET Framework 4.5 não são suportados no designer rehospedado. A Toolbox
pesquisa é suportada no designer rehospedado. Para obter mais informações sobre esses recursos, consulte Pesquisa do Designer.
Aviso
A Busca Rápida e a Localização em Arquivos não são suportadas no designer rehospedado.
Excluir item de menu de contexto no designer de variáveis e argumentos
No .NET Framework 4, variáveis e argumentos só podiam ser excluídos no designer usando o teclado. A partir do .NET Framework 4.5, variáveis e argumentos podem ser excluídos usando o menu de contexto. Esse recurso é suportado no designer rehospedado.
A captura de tela a seguir mostra o menu de contexto do designer de variáveis e argumentos.
Auto-surround com seqüência
Como um fluxo de trabalho ou determinadas atividades de contêiner (como NoPersistScope) só podem conter uma única atividade de corpo, adicionar uma segunda atividade exigiu que o desenvolvedor excluísse a primeira atividade, adicionasse uma Sequence atividade e, em seguida, adicionasse ambas as atividades à atividade de sequência. A partir do .NET Framework 4.5, ao adicionar uma segunda atividade à superfície do designer, uma Sequence
atividade será criada automaticamente para encapsular ambas as atividades. Esse recurso é suportado no designer rehospedado.
A captura de tela a seguir mostra uma WriteLine
atividade em um NoPersistScope
Body
arquivo .
A captura de tela a seguir mostra a atividade criada Sequence
automaticamente quando Body
um segundo WriteLine
é deixado abaixo do primeiro.
Modo Panorâmica
Para navegar mais facilmente em um fluxo de trabalho grande no designer, o modo panorâmico pode ser habilitado, permitindo que o desenvolvedor clique e arraste para mover a parte visível do fluxo de trabalho, em vez de precisar usar as barras de rolagem. O botão para ativar o modo pan está no canto inferior direito do designer. Esse recurso é suportado no designer rehospedado.
A captura de tela a seguir mostra o botão de movimento panorâmico localizado no canto inferior direito do designer de fluxo de trabalho.
O botão do meio do mouse ou a barra de espaço também podem ser usados para mover o designer de fluxo de trabalho.
Seleção múltipla
Várias atividades podem ser selecionadas ao mesmo tempo, arrastando um retângulo ao redor delas (quando o modo panorâmico não está ativado), ou mantendo pressionada a tecla Ctrl e clique nas atividades desejadas, uma a uma. Esse recurso é suportado no designer rehospedado.
Várias seleções de atividades também podem ser arrastadas e soltas dentro do designer, e também podem ser interagidas usando o menu de contexto.
Modo de exibição de estrutura de tópicos de itens de fluxo de trabalho
Para facilitar a navegação dos fluxos de trabalho hierárquicos, os componentes de um fluxo de trabalho são mostrados em uma exibição de estrutura de tópicos no estilo árvore. O modo de exibição de estrutura de tópicos é exibido no modo de exibição Estrutura de Tópicos do Documento . Para abrir esse modo de exibição no Visual Studio, no menu superior, selecione Exibir, Outras Janelas, Estrutura de Tópicos do Documento ou pressione Ctrl W,U. Clicar em um nó no modo de estrutura de tópicos navegará até a atividade correspondente no designer de fluxo de trabalho e o modo de exibição de estrutura de tópicos será atualizado para mostrar as atividades selecionadas no designer. Esse recurso é suportado no designer rehospedado.
A captura de tela a seguir do fluxo de trabalho concluído do Tutorial de Introdução mostra a exibição de estrutura de tópicos com um fluxo de trabalho sequencial.
Mais controle da visibilidade da barra de shell e itens de cabeçalho
Em um designer rehospedado, alguns dos controles de interface do usuário padrão podem não ter significado para um determinado fluxo de trabalho e podem ser desativados. No .NET Framework 4, essa personalização só é suportada pela barra de shell na parte inferior do designer. No .NET Framework 4.5, a visibilidade dos itens de cabeçalho do shell na parte superior do designer pode ser ajustada definindo WorkflowShellHeaderItemsVisibility com o valor apropriado ShellHeaderItemsVisibility .
Conexão e inserção automáticas em fluxos de trabalho de fluxograma e máquina de estado
No .NET Framework 4, as conexões entre nós em um fluxo de trabalho de fluxograma tinham que ser adicionadas manualmente. No .NET Framework 4.5, os nós Fluxograma e Máquina de Estado têm pontos de conexão automática que se tornam visíveis quando uma atividade é arrastada da caixa de ferramentas para a superfície do designer. Soltar uma atividade em um desses pontos adiciona automaticamente a atividade junto com a conexão necessária.
A captura de tela a seguir mostra os pontos de anexo que se tornam visíveis quando uma atividade é arrastada da caixa de ferramentas.
As atividades também podem ser arrastadas para conexões entre nós de fluxograma e estados para inserir automaticamente o nó entre dois outros nós. A captura de tela a seguir mostra a linha de conexão realçada onde as atividades podem ser arrastadas da caixa de ferramentas e soltas.
A conexão automática e a inserção automática são suportadas no designer rehospedado.
Anotações do designer
Para facilitar o desenvolvimento de fluxos de trabalho maiores, o designer agora suporta a adição de anotações para ajudar a acompanhar o processo de design. A anotação pode ser adicionada a atividades, estados, nós de fluxograma, variáveis e argumentos. A captura de tela a seguir mostra o menu de contexto usado para adicionar anotações ao designer.
As anotações de designer são suportadas no designer rehospedado.
Definir e consumir objetos ActivityDelegate no designer
As atividades no .NET Framework 4 usavam ActivityDelegate objetos para expor pontos de execução onde outras partes do fluxo de trabalho podiam interagir com a execução de um fluxo de trabalho, mas usar esses pontos de execução geralmente exigia uma quantidade razoável de código. Nesta versão, os desenvolvedores podem definir e consumir delegados de atividade usando o designer de fluxo de trabalho. Para obter mais informações, consulte Como definir e consumir delegados de atividade no Designer de Fluxo de Trabalho.
Os delegados de atividade são suportados no designer rehospedado.
Validação em tempo de construção
No .NET Framework 4, os erros de validação de fluxo de trabalho não eram contados como erros de compilação durante a compilação de um projeto de fluxo de trabalho. Isso significava que a criação de um projeto de fluxo de trabalho poderia ser bem-sucedida mesmo quando houvesse erros de validação do fluxo de trabalho. No .NET Framework 4.5, erros de validação de fluxo de trabalho fazem com que a compilação falhe.
Aviso
A validação em tempo de compilação não é suportada no designer rehospedado.
Validação em segundo plano em tempo de design
No .NET Framework 4, os fluxos de trabalho foram validados como um processo em primeiro plano, que poderia potencialmente bloquear a interface do usuário durante processos de validação complexos ou demorados. A validação do fluxo de trabalho agora ocorre em um thread em segundo plano, para que a interface do usuário não seja bloqueada.
A validação em segundo plano em tempo de design é suportada no designer rehospedado.
Estado de exibição localizado em um local separado em arquivos XAML
No .NET Framework 4, as informações de estado de exibição de um fluxo de trabalho são armazenadas no arquivo XAML em muitos locais diferentes. Isso é inconveniente para desenvolvedores que desejam ler XAML diretamente ou escrever código para remover as informações de estado de exibição. No .NET Framework 4.5, as informações de estado de exibição no arquivo XAML são serializadas como um elemento separado no arquivo XAML. Os desenvolvedores podem facilmente localizar e editar as informações de estado de exibição de uma atividade ou remover completamente o estado de exibição.
Esse recurso é suportado no designer de fluxo de trabalho rehospedado.
Optar pelos recursos do Workflow 4.5 no designer rehospedado
Para preservar a compatibilidade com versões anteriores, alguns novos recursos incluídos no .NET Framework 4.5 não são habilitados por padrão no designer rehospedado. Isso é para garantir que os aplicativos existentes que usam o designer rehospedado não sejam quebrados pela atualização para a versão mais recente. Para habilitar novos recursos no designer rehospedado, defina TargetFrameworkName como ".Net Framework 4.5" ou defina membros individuais de DesignerConfigurationService para habilitar recursos individuais.
Novos modelos de desenvolvimento de fluxo de trabalho
Além de fluxogramas e modelos de desenvolvimento de fluxo de trabalho sequencial, esta versão inclui fluxos de trabalho de Máquina de Estado e serviços de fluxo de trabalho de primeiro contrato.
Fluxos de trabalho da máquina de estado
Os fluxos de trabalho de máquina de estado foram introduzidos como parte do .NET Framework 4.0.1 na Atualização 1 da Plataforma Microsoft .NET Framework 4. Esta atualização incluiu várias novas classes e atividades que permitiram aos desenvolvedores criar fluxos de trabalho de máquina de estado. Essas classes e atividades foram atualizadas para o .NET Framework 4.5. As atualizações incluem:
A capacidade de definir pontos de interrupção em estados
A capacidade de copiar e colar transições no designer de fluxo de trabalho
Suporte de designer para criação de transição de gatilho compartilhado
Atividades usadas para criar fluxos de trabalho de Máquina de Estado, incluindo: StateMachine, Statee Transition
A captura de tela a seguir mostra o fluxo de trabalho da máquina de estado concluído na etapa do Tutorial de Introdução Como: Criar um fluxo de trabalho de máquina de estado.
Para obter mais informações sobre como criar fluxos de trabalho de máquina de estado, consulte Fluxos de trabalho de máquina de estado. Os fluxos de trabalho da máquina de estado são suportados no designer rehospedado.
Desenvolvimento de fluxo de trabalho com contrato primeiro
A ferramenta de desenvolvimento de fluxo de trabalho contract-first permite que o desenvolvedor projete um contrato em código primeiro e, em seguida, com alguns cliques no Visual Studio, gere automaticamente um modelo de atividade na caixa de ferramentas que representa cada operação. Essas atividades são usadas para criar um fluxo de trabalho que implementa as operações definidas pelo contrato. O designer de fluxo de trabalho validará o serviço de fluxo de trabalho para garantir que essas operações sejam implementadas e que a assinatura do fluxo de trabalho corresponda à assinatura do contrato. O desenvolvedor também pode associar um serviço de fluxo de trabalho a uma coleção de contratos implementados. Para obter mais informações sobre o desenvolvimento do serviço de fluxo de trabalho contratual primeiro, consulte Como criar um serviço de fluxo de trabalho que consuma um contrato de serviço existente.
Aviso
O desenvolvimento de fluxo de trabalho contratual primeiro não é suportado no designer de fluxo de trabalho.