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
Inicie o Visual Studio 2012.
Carregue o projeto MyWFService criado no tópico Como criar um serviço de fluxo de trabalho com atividades de mensagens.
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.
Clique no botão OK para descartar a caixa de diálogo Adicionar novo projeto.
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.
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.
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.
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.
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.
Arraste e solte uma Sequence atividade na superfície do designer. Encontra-se sob a secção Fluxo de Controlo da caixa de ferramentas.
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 nomeadaoutString
conforme mostrado no diagrama a seguir.Arraste e solte uma atividade Echo no Sequence. Na janela de propriedades, vincule o
inMsg
argumento àinString
variável e ooutMsg
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 deinString
retorno e o coloca naoutString
variável.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 digitandooutString
na caixa de texto na atividade WriteLine. O fluxo de trabalho agora deve se parecer com a ilustração a seguir.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.
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").