Compartilhar via


Como: acessar um serviço de um aplicativo de fluxo de trabalho

Este tópico descreve como chamar um serviço de fluxo de trabalho de um aplicativo de console de fluxo de trabalho. Ele depende da conclusão do tópico Como criar um serviço de fluxo de trabalho com atividades de mensagens. Embora este tópico descreva como chamar um serviço de fluxo de trabalho de um aplicativo de fluxo de trabalho, os mesmos métodos podem ser usados para chamar qualquer serviço do WCF (Windows Communication Foundation) de um aplicativo de fluxo de trabalho.

Criar um projeto de aplicativo do console de fluxo de trabalho

  1. Inicie o Visual Studio 2012.

  2. Carregue o projeto MyWFService criado no tópico Como criar um serviço de fluxo de trabalho com atividades de mensagens.

  3. Clique com o botão direito do mouse na solução MyWFService no Gerenciador de Soluções e selecione Adicionar, Novo Projeto. Selecione Fluxo de Trabalho em Modelos Instalados e Aplicativo de Console de Fluxo de Trabalho na lista de tipos de projeto. Nomeie o projeto MyWFClient e use o local padrão conforme mostrado na ilustração a seguir.

    Add New Project Dialog

    Clique no botão OK para descartar o diálogo Adicionar Novo Projeto.

  4. Depois que o projeto é criado, o arquivo Workflow1.xaml é aberto no designer. Clique na guia Caixa de ferramentas para abrir a caixa de ferramentas se ainda não estiver aberta e clique no pino de fixação para manter a janela da caixa de ferramentas aberta.

  5. Pressione Ctrl+F5 para compilar e iniciar o serviço. Como antes, o ASP.NET Development Server é iniciado e o navegador exibe a página de ajuda do WCF. Observe o URI desta página, pois você precisará usá-la na próxima etapa.

    Browser displaying WCF help page and URI

  6. Clique com o botão direito do mouse no projeto MyWFClient no Gerenciador de Soluções e selecione Adicionar>Referência de Serviço. Clique no botão Descobrir para pesquisar um serviço na solução atual. Clique no triângulo ao lado de Service1.xamlx na lista de serviços. Clique no triângulo ao lado de Service1 para listar os contratos implementados pelo serviço Service1. Expanda o nó Service1 na lista Serviços. A operação de eco é exibida na lista Operações conforme mostrado na ilustração a seguir.

    Add Service Reference Dialog

    Mantenha o namespace padrão e clique em OK para descartar o diálogo Adicionar Referência de Serviço. O diálogo a seguir é exibido.

    Add Service Reference Notification dialog

    Clique em OK para descartar o diálogo. Em seguida, pressione CTRL+SHIFT+B para criar a solução. Observe na caixa de ferramentas que uma nova seção foi adicionada, chamada MyWFClient.ServiceReference1.Activities. Expanda essa seção e observe a atividade Echo que foi adicionada conforme mostrado na ilustração a seguir.

    Echo activity in the toolbox

  7. Arraste e solte uma atividade Sequence na superfície do designer. Ela está na seção Fluxo de Controle da caixa de ferramentas.

  8. Com a atividade Sequence em foco, clique no link Variáveis e adicione uma variável de cadeia de caracteres chamada inString. Dê à variável um valor padrão de "Hello, world", bem como uma variável de cadeia de caracteres chamada outString, conforme mostrado no diagrama a seguir.

    Adding an inString variable

  9. Arraste e solte uma atividadeEcho no Sequence. Na janela de propriedades, associe o argumento inMsg à variável inString e o argumento outMsg à variável outString, conforme mostrado na ilustração a seguir. Isso transmite o valor da variável inString à operação e, em seguida, pega o valor de retorno e o coloca na variável outString.

    Binding the arguments to variables

  10. Arraste e solte uma atividade WriteLine abaixo da atividade Echo para exibir a cadeia de caracteres retornada pela chamada de serviço. A atividade WriteLine está localizada no nó Primitives na caixa de ferramentas. Vincule o argumento deText da atividade WriteLine à variável outString digitando outString na caixa de texto na atividade WriteLine. O fluxo de trabalho agora deve ser semelhante à ilustração a seguir.

    The complete client workflow

  11. Clique com o botão direito do mouse na solução MyWFService e selecione Definir Projetos de Inicialização. Selecione o botão de opção Vários projetos de inicialização e selecione Iniciar para cada projeto na coluna Ação, conforme mostrado na ilustração a seguir.

    Startup projects options

  12. Pressione Ctrl+F5 para iniciar o serviço e o cliente. O ASP.NET Development Server hospeda o serviço, o navegador exibe a página de ajuda do WCF e o aplicativo de fluxo de trabalho do cliente é iniciado em uma janela do console e exibe a cadeia de caracteres retornada do serviço ("Olá, mundo").

Confira também