Partilhar via


Como: Acessar um serviço a partir de um aplicativo de fluxo de trabalho

Este tópico descreve como chamar um serviço de fluxo de trabalho a partir de um aplicativo de console de fluxo de trabalho. 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 WCF (Windows Communication Foundation) de um aplicativo de fluxo de trabalho.

Criar um projeto de aplicativo de 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 a caixa de 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 ela ainda não estiver aberta e clique no pino para manter a janela da Caixa de Ferramentas aberta.

  5. Pressione Ctrl+F5 para criar 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ê deve usá-lo 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 procurar quaisquer serviços na solução atual. Clique no triângulo ao lado de Service1.xamlx na lista 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 Echo é 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 a caixa de diálogo Adicionar Referência de Serviço . A caixa de diálogo a seguir é exibida.

    Add Service Reference Notification dialog

    Clique em OK para descartar a caixa de diálogo. Em seguida, pressione CTRL+SHIFT+B para criar a solução. Observe que na caixa de ferramentas uma nova seção foi adicionada chamada MyWFClient.ServiceReference1.Activities. Expanda esta 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 Sequence atividade na superfície do designer. Encontra-se sob a secção Fluxo de Controlo da caixa de ferramentas.

  8. Com a Sequence atividade 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, bem como uma variável de cadeia de "Hello, world" caracteres nomeada outString conforme mostrado no diagrama a seguir.

    Adding an inString variable

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

    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ó Primitivos na caixa de ferramentas. Associe o argumento Text da atividade WriteLine à outString variável digitando outString na caixa de texto na atividade WriteLine. O fluxo de trabalho agora deve se parecer com a 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 cliente é iniciado em uma janela do console e exibe a cadeia de caracteres retornada do serviço ("Olá, mundo").

Consulte também