Compartilhar via


Tutorial: Como definir um contrato de serviço do Windows Communication Foundation

Este tutorial descreve a primeira de cinco tarefas necessárias para criar um aplicativo básico do Windows Communication Foundation (WCF). Para obter uma visão geral dos tutoriais, consulte Tutorial: Introdução aos aplicativos do Windows Communication Foundation.

Ao criar um serviço WCF, sua primeira tarefa é definir um contrato de serviço. O contrato de serviço especifica a quais operações o serviço dá suporte. Uma operação pode ser considerada como um método de serviço Web. Você cria contratos de serviço definindo uma interface C# ou Visual Basic. Uma interface tem as seguintes características:

Neste tutorial, você aprenderá a:

  • Criar um projeto da Biblioteca de Serviços WCF.
  • Definir uma interface de contrato de serviço.

Criar um projeto da Biblioteca de Serviços WCF e definir uma interface de contrato de serviço

  1. Abra o Visual Studio como administrador. Para fazer isso, selecione o programa do Visual Studio no menu Iniciar e selecione Mais>Executar como administrador no menu de atalho.

  2. Criar um projeto da Biblioteca de Serviços WCF.

    1. No menu Arquivo, selecione Novo>Projeto.

    2. Na caixa de diálogo Novo Projeto, no lado esquerdo, expanda Visual C# ou Visual Basic e selecione a categoria WCF. O Visual Studio exibe uma lista de modelos de projeto na seção central da janela. Selecione Biblioteca de Serviços WCF.

      Observação

      Se você não vir a categoria de modelo do projeto WCF, talvez seja necessário instalar o componente Windows Communication Foundation do Visual Studio. Na caixa de diálogo Novo Projeto, selecione o link Abrir o Instalador do Visual Studio no lado esquerdo. Selecione a guia Componentes individuais e, em seguida, localize e selecione Windows Communication Foundation na categoria Atividades de desenvolvimento. Escolha Modificar para começar a instalar o componente.

    3. Na seção inferior da janela, insira GettingStartedLib para o Nome e GettingStarted para o Nome da solução.

    4. Selecione OK.

      O Visual Studio cria o projeto, que tem três arquivos: IService1.cs (ou IService1.vb para um projeto do Visual Basic), Service1.cs (ou Service1.vb para um projeto do Visual Basic) e App.config. O Visual Studio define esses arquivos da seguinte maneira:

      • O arquivo IService1 contém a definição padrão do contrato de serviço.
      • O arquivo Service1 contém uma implementação padrão do contrato de serviço.
      • O arquivo App.config contém as informações de configuração necessárias para carregar o serviço padrão com a ferramenta de Host de Serviço WCF do Visual Studio. Para obter mais informações sobre a ferramenta de Host do Serviço WCF, consulte Host de Serviço WCF (WcfSvcHost.exe).

      Observação

      Se você instalou o Visual Studio com configurações de ambiente de desenvolvedor do Visual Basic, a solução pode estar oculta. Se esse for o caso, selecione Opções no menu Ferramentas e selecione Projetos e Soluções>Geral na janela Opções. Selecione Sempre mostrar solução. Além disso, verifique se Salvar novos projetos quando criado está selecionado.

  3. Em Gerenciador de Soluções, abra o arquivo IService1.cs ou IService1.vb e substitua seu código pelo seguinte código:

    using System;
    using System.ServiceModel;
    
    namespace GettingStartedLib
    {
            [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
            public interface ICalculator
            {
                [OperationContract]
                double Add(double n1, double n2);
                [OperationContract]
                double Subtract(double n1, double n2);
                [OperationContract]
                double Multiply(double n1, double n2);
                [OperationContract]
                double Divide(double n1, double n2);
            }
    }
    
    Imports System.ServiceModel
    
    Namespace GettingStartedLib
    
        <ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
        Public Interface ICalculator
    
            <OperationContract()> _
            Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
        End Interface
    End Namespace
    

    Este contrato define uma calculadora online. Observe que a interface do ICalculator está marcada com o atributo ServiceContractAttribute (simplificado como ServiceContract). Esse atributo define um namespace para remover a ambiguidade do nome do contrato. O código marca cada operação de calculadora com o atributo OperationContractAttribute (simplificado como OperationContract).

Próximas etapas

Neste tutorial, você aprendeu a:

  • Criar um projeto da Biblioteca de Serviços WCF.
  • Definir uma interface de contrato de serviço.

Avance para o próximo tutorial para saber como implementar o contrato de serviço WCF.