Partilhar via


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

  1. 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.

  2. Nomeie o novo projeto ContractFirst e clique em Ok.

Criação do contrato de prestação de serviços

  1. 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.

  2. Na parte superior da janela de código exibida, adicione uma using diretiva ao System.ServiceModel.

    using System.ServiceModel;
    
  3. 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();
        }
    
  4. Crie o projeto pressionando Ctrl+Shift+B.

Importação do contrato de serviços

  1. 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.

  2. 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.

  3. Crie o projeto pressionando Ctrl+Shift+B, para que as atividades importadas apareçam na caixa de ferramentas.

  4. No Gerenciador de Soluções, abra Service1.xamlx. O serviço de fluxo de trabalho aparecerá no designer.

  5. 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.

  6. Selecione e exclua as atividades ReceiveRequest e SendResponse .

  7. Na caixa de ferramentas, arraste uma Buy_ReceiveAndSendReply e uma atividade Checkout_Receive para a atividade Serviço Sequencial.