Como: criar um serviço com interface de contrato

A maneira preferencial de criar um contrato do WCF (Windows Communication Foundation) é usando uma interface. Esse contrato especifica a coleção e a estrutura das mensagens necessárias para acessar as operações que o serviço oferece. Essa interface define os tipos de entrada e saída aplicando a classe ServiceContractAttribute à interface e a classe OperationContractAttribute aos métodos que você deseja expor.

Para obter mais informações sobre contratos de serviço, consulte Criar contratos de serviço.

Criar um contrato do WCF com uma interface

  1. Crie uma nova interface usando Visual Basic, C# ou qualquer outra linguagem do Common Language Runtime.

  2. Aplique a classe ServiceContractAttribute à interface.

  3. Defina os métodos na interface.

  4. Aplique a classe OperationContractAttribute a cada método que deve ser exposto como parte do contrato público do WCF.

Exemplo

A amostra de código a seguir mostra uma interface que define um contrato de serviço.

using System.ServiceModel;

[ServiceContract]
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);
}


<ServiceContract()> _
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

Os métodos que têm a classe OperationContractAttribute aplicada usam um padrão de mensagem de solicitação-resposta por padrão. Para obter mais informações sobre esse padrão de mensagem, confira Como criar um contrato de solicitação-resposta. Você também pode criar e usar outros padrões de mensagem definindo propriedades do atributo. Para ver mais exemplos, confira Como criar um contrato unidirecional e Como criar um contrato duplex.

Confira também