Compartilhar via


Superfície confiável do Workflow Manager Tools 1.0

 

Publicado: abril de 2016

O Workflow Manager 1.0 introduz a noção de uma Superfície confiável para criar fluxos de trabalho.Uma Superfície confiável é um conjunto de tipos e atividades confiáveis disponíveis aos usuários para que criem seus fluxos de trabalho.Os autores de fluxo de trabalho criam fluxos de trabalho declarativamente, usando composições desses tipos e atividades.Os tipos permitidos são restritos, usando uma lista de tipos permitidos que contém o conjunto de tipos permitidos no sistema.Quando a lista branca está ativada, as definições do fluxo de trabalho são verificadas no momento do carregamento para garantir que apenas os tipos permitidos são usados.Este tópico fornece uma visão geral sobre a criação de fluxos de trabalho declarativos usando a Superfície confiável do Workflow Manager 1.0.

Criando fluxos de trabalho declarativos para Workflow Manager 1.0

Os fluxos de trabalho hospedados no Workflow Manager 1.0 são totalmente declarativos e criados usando uma Superfície confiável, usando a Atualização 4.0.3 para Microsoft .NET Framework 4 e o Windows Workflow Foundation (WF4).Para criar um fluxo de trabalho para o Workflow Manager 1.0, são usadas atividades, expressões e variáveis da Superfície confiável.As atividades usadas podem ser da lista de atividades aprovadas e atividades XAML personalizadas compostas por Atividades confiáveis podem ser usadas.As expressões do Visual Basic não são permitidas na definição de fluxo de trabalho que é hospedada no Workflow Manager 1.0, mas atividades de expressão do namespace Microsoft.Activities.Expressions podem ser usadas durante a criação de fluxos de trabalho.As expressões são convertidas em atividades suportadas antes que a definição do fluxo de trabalho seja carregada no Workflow Manager 1.0.As variáveis no fluxo de trabalho são restritas aos tipos de dados da Superfície confiável.

A criação de fluxos de trabalho pode ser realizada usando o designer de fluxos de trabalho no Visual Studio, criando um XAML diretamente através de um designer re-hospedado ou em código, ao criar uma atividade usando o ActivityBuilder que deriva do Activity e é serializado para Xaml.Para amostras do Workflow Manager 1.0, consulte Amostras do Workflow Manager Tools 1.0.

 Superfície confiável do Workflow Manager 1.0

A Superfície confiável para Workflow Manager 1.0 consiste de tipos e atividades de fluxo de trabalho do .NET Framework versão 4, assim como novos tipos introduzidos no Workflow Manager 1.0.Muitos tipos são suportados e a maioria das atividades prontas para uso também.A tabela a seguir contém os tipos suportados.Para cada um desses tipos suportados, existe um conjunto correspondente de atividades para manipulação desses tipos.

Tipo

Atividades de suporte

Cadeia de caracteres

Atividades de cadeia de caracteres

Suporte de data usando DateTime e TimeSpan

Atividades de suporte de data

Suporte numérico usando Int32 e Double

Atividades de tipo numérico

Booliano

Atividades boolianas

Guid

Atividades Guid

ICollection, incluindo IList

Atividades de coleção

IDictionary e KeyValuePair

IDictionary

DynamicValue

Atividades de DynamicValue

Exceção

Atividades de exceção

Uri

Atividades do Uri

Observação

Além das atividades para suportar a manipulação de tipos primitivos e expressões, o Workflow Manager 1.0 introduz atividades para suportar expressões, sistema de mensagens, segurança, manipulação de dados e configuração.Para obter mais informações sobre esses tópicos, consulte o Visão geral das atividades do Workflow Manager Tools 1.0.Essas atividades são parte da Superfície confiável.

Além das novas atividades introduzidas no Workflow Manager 1.0, as seguintes atividades WF4 dos assemblies de fluxo de trabalho e dos respectivos namespaces listados são suportadas com as exceções indicadas.

  • System.Activities.dll

    • Todas as atividades, exceto

      • InvokeMethod

      • InvokeMethod<T>

      • New<T>

      • Cast<T>

      • VisualBasicValue<T>

      • VisualBasicReference<T>

      • LambdaValue<T>

      • LambdaReference<T>

      • TransactionScope

      • Persist

      • A maioria das atividades em System.Activities.Expressions não são suportadas, mas existem atividades equivalentes nos assemblies do Microsoft.Workflow*.

        Há suporte para VariableValue<T>, VariableReference<T>, ArgumentValue<T> e ArgumentReference<T>.

Observação

Algumas das atividades nessa lista podem não ser familiares para os autores de fluxo de trabalho, pois elas não são usadas diretamente, mas são usadas quando as expressões são convertidas em atividades.

System_CAPS_importantImportante

Observe que embora alguns itens como expressões do Visual Basic não sejam suportados, isso não significa que você não possa utilizá-los nos fluxos de trabalho.Isso significa que estes itens não podem fazer parte das definições de fluxo de trabalho que são hospedadas no Workflow Manager 1.0.Antes que os fluxos de trabalho sejam carregados no Workflow Manager 1.0, eles devem ser convertidos.A conversão é o processo de avaliação e conversão de expressões para se usar as atividades suportadas da Superfície confiável.

A tabela a seguir contém informações adicionais sobre algumas atividades que não estão disponíveis na Superfície confiável do Workflow Manager 1.0.

Atividade

Descrição

Motivo pelo qual não estão disponíveis

InvokeMethod/InvokeMethod<TResult>

Invoca uma instância ou um método público estático em um tipo no escopo.O método pode opcionalmente ter um valor de retorno.

O método pode conter código de cliente malicioso/arbitrário.

New<TResult>

Cria uma nova instância de um tipo.

O construtor pode conter código malicioso.

> [!Note] > Há suporte para New<Uri>.

Cast<TOperand, TResult>

Converte um tipo em outro.

Resulta na invocação do construtor no tipo de resultado.O construtor no tipo de resultado pode conter código malicioso.

PropertyValue<TResult>

Invoca um getter de propriedade.

O getter pode conter código de cliente malicioso/arbitrário.

PropertyReference<TResult>

Invoca um setter de propriedade.

O setter pode conter código de cliente malicioso/arbitrário.

VisualBasicValue<TResult>

Avalia uma expressão do Visual Basic que retorna um valor.

Pode executar código do Visual Basic arbitrário e potencialmente malicioso.

VisualBasicReference<TResult>

Avalia uma expressão do Visual Basic que retorna uma referência de local.

Pode executar código do Visual Basic arbitrário e potencialmente malicioso.

LambdaValue<TResult>

Avalia uma expressão lambda que retorna um valor.

Pode executar código do Visual Basic ou C# arbitrário e potencialmente malicioso.

LambdaReference<TResult>

Avalia uma expressão lambda que retorna uma referência de local.

Pode executar código do Visual Basic ou C# arbitrário e potencialmente malicioso.