Compartilhar via


Atividades de publicação/assinatura do Workflow Manager Tools 1.0

 

Publicado: março de 2016

O Workflow Manager 1.0 permite que os fluxos de trabalho assinem e recebam mensagens, tanto para a criação de uma nova instância quanto para correlação entre instâncias existentes.Enquanto a criação de instâncias é orientada por um ActivationFilter de definição de fluxo de trabalho, as instâncias do fluxo de trabalho assinadas dinamicamente no tempo de execução de um determinado conjunto de mensagens correlacionadas podem fazê-lo usando as atividades Subscribe e ReceiveNotification.

Observação

Este modelo é diferente do modelo WF4 que usa a propriedade CanCreateInstance de Recepção, nesse caso, a informação de ativação é especificada fora do fluxo de trabalho (como parte da sua WorkflowDefinition).

Atividades de publicação/assinatura

Existem quatro atividades principais que podem ser usadas para receber mensagens de notificação:

  • BuildMatchAllFilter – essa atividade define o filtro usado para coincidir mensagens de entrada (no ponto de extremidade de notificação do escopo) com a instância do fluxo de trabalho.Esse filtro realiza uma correspondência exata de cada uma das propriedades especificadas com o valor que é fornecido.Observação: o tipo definido é relevante para a semântica de correspondência, isso é, um inteiro de 1 não corresponderia a uma cadeia de caracteres "1" na mensagem publicada.

  • ReceiveNotification – essa atividade é usada para bloquear a execução do fluxo de trabalho até que uma mensagem de notificação de correspondência seja recebida.A atividade também expõe as propriedades e o conteúdo da mensagem para que eles possam ser associados às variáveis do fluxo de trabalho.O filtro pode ser fornecido explicitamente para a atividade ou um SubscriptionHandle pode ser usado de uma atividade Subscribe anterior.Se o modo anterior for usado (fornecendo o filtro para a atividade), então um cancelamento de assinatura implícito é realizado após a mensagem ser recebida e entregue ao fluxo de trabalho.

  • Subscribe – essa atividade pode ser usada para criar explicitamente a regra de assinatura com base no filtro de entrada.A assinatura é armazenada em uma variável SubscriptionHandle, que pode, em seguida, ser usada para atividades ReceiveNotification e/ou atividades Unsubscribe.

  • Unsubscribe – essa atividade pode ser usada para cancelar a assinatura explicitamente com base em um SubscriptionHandle de entrada.Observação: se uma variável SubscriptionHandle ficar fora de escopo, ela irá implicitamente chamar Unsubscribe, de modo que os identificadores não serão vazados, assim a atividade Unsubscribe nem sempre será necessária.

As mensagens são publicadas no escopo usando o ponto de extremidade das notificações ou usando a API Cliente .NET (WorkflowInstanceManager) para publicar a mensagem de notificação.Uma mensagem de notificação consiste em duas partes:

  • Properties – essa é uma lista plana de pares de chave-valor que pode ser usada para propósitos de filtragem e que também pode ser acessada no fluxo de trabalho usando a propriedade Properties de ReceiveNotification.

  • Content: esse é o conteúdo da mensagem.Um Dictionary<string, object> pode ser fornecido de modo a mapear uma propriedade Content (ReceiveParametersContent) de ReceiveNotification ou um determinado objeto pode ser passado, o que irá mapear o fluxo de trabalho como a carga de um ReceiveMessageContent.

Para obter mais informações sobre mensagens no Workflow Manager 1.0, consulte Sistema de mensagens de entrada.