Como: Criar um serviço de fluxo de trabalho que consome um contrato de serviço existente
O .NET Framework 4.5 apresenta uma melhor integração entre serviços Web e fluxos de trabalho na forma de desenvolvimento de fluxo de trabalho contratual primeiro. A ferramenta de desenvolvimento de fluxo de trabalho contract-first permite que você projete o contrato em código primeiro. Em seguida, a ferramenta gera automaticamente um modelo de atividade na caixa de ferramentas para as operações no contrato.
Nota
Este tópico fornece orientação passo a passo sobre como criar um serviço de fluxo de trabalho que prioriza o contrato. Para obter mais informações sobre o desenvolvimento do serviço de fluxo de trabalho contratual primeiro, consulte Contract First Workflow Service Development.
Criando o projeto de fluxo de trabalho
No Visual Studio, selecione Ficheiro, Novo Projeto. Selecione o nó WCF sob o nó C# na árvore Modelos e selecione o modelo Aplicativo de Serviço de Fluxo de Trabalho WCF.
Nomeie o novo projeto
ContractFirst
e clique em Ok.
Criação do contrato de prestação de serviços
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 de classe à direita. Nomeie a nova classe
IBookService
e clique em Ok.Na parte superior da janela de código exibida, adicione uma
using
diretiva aoSystem.ServiceModel
.using System.ServiceModel;
Altere a definição de classe de exemplo para a seguinte definição de interface.
[ServiceContract] public interface IBookService { [OperationContract] void Buy(string bookName); [OperationContract(IsOneWay=true)] void Checkout(); }
Crie o projeto pressionando Ctrl+Shift+B.
Importação do contrato de serviços
Clique com o botão direito do mouse 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 será aberta, alertando que a operação foi concluída com êxito e que as atividades geradas aparecerão na caixa de ferramentas depois que você criar o projeto. Clique em OK.
Crie o projeto pressionando Ctrl+Shift+B, para que as atividades importadas apareçam na caixa de ferramentas.
No 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 Type Collection Editor exibida, clique na lista suspensa Type e selecione a entrada Browse for Types.... 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 Type Collection Editor, clique em OK.
Selecione e exclua as atividades ReceiveRequest e SendResponse .
Na caixa de ferramentas, arraste uma Buy_ReceiveAndSendReply e uma atividade Checkout_Receive para a atividade Serviço Sequencial.