Como: criar um serviço de fluxo de trabalho que consome um contrato de serviço existente
O .NET Framework 4.5 apresenta melhor integração entre serviços Web e fluxos de trabalho na forma de desenvolvimento de fluxo de trabalho de primeiro contrato. A ferramenta de desenvolvimento de fluxo de trabalho de primeiro contrato permite que você crie o contrato no código primeiro. A ferramenta em seguida gera automaticamente um modelo de atividade na caixa de ferramentas para as operações no contrato.
Observação
Este tópico fornece orientação passo a passo sobre como criar um serviço de fluxo de trabalho de primeiro contrato. Para obter mais informações sobre o desenvolvimento do serviço de fluxo de trabalho do tipo primeiro contrato, consulte Desenvolvimento do Serviço de Fluxo de Trabalho de Primeiro Contrato.
Criando o projeto de fluxo de trabalho
No Visual Studio, selecione Arquivo, Novo Projeto. Selecione o nó do WCF no nó C# na árvore Templates e selecione o modelo Aplicativo de serviço de fluxo de trabalho do WCF.
Nomeie o novo projeto
ContractFirst
e clique em Ok.
Criando o contrato de serviço
Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Adicionar, Novo Item…. Selecione o nó Código à esquerda e o modelo Classe à direita. Nomeie a nova classe como
IBookService
e clique em Ok.Na parte superior da janela de código exibida, adicione uma diretiva
using
aSystem.ServiceModel
.using System.ServiceModel;
Altere a definição de classe de exemplo à seguinte definição da interface.
[ServiceContract] public interface IBookService { [OperationContract] void Buy(string bookName); [OperationContract(IsOneWay=true)] void Checkout(); }
Compile o projeto pressionando Ctrl+Shift+B.
Importando o contrato de serviço
Clique com o botão direito no projeto no Gerenciador de Soluções e selecione Importar Contrato de Serviço. Em <Projeto Atual>, abra todos os subnós e selecione IBookService. Clique em OK.
Uma caixa de diálogo abrirá, alertando-o de que a operação foi concluída com êxito e que as atividades geradas serão exibidas na caixa de ferramentas depois que você compilar o projeto. Clique em OK.
Compile o projeto pressionando Ctrl+Shift+B, para que as atividades importadas apareçam na caixa de ferramentas.
Em Gerenciador de Soluções, abra Service1.xamlx. O serviço de fluxo de trabalho aparecerá no designer.
Selecione a atividade Sequência. Na janela Propriedades, clique no botão …na propriedade ImplementedContract. Na janela Editor de Coleção de Tipo exibida, clique no menu suspenso Tipo e selecione a entrada Procurar Tipos…. Na caixa de diálogo Procurar e Selecionar um Tipo .Net, em <Projeto Atual>, abra todos os subnós e selecione IBookService. Clique em OK. Na caixa de diálogo Editor de Coleção de Tipo, clique em OK.
Selecione e exclua as atividades ReceiveRequest e SendResponse.
Na caixa de ferramentas, arraste uma atividade Buy_ReceiveAndSendReply e Checkout_Receive para a atividade Serviço Sequencial.