Como: Criar um serviço com uma interface de contrato

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

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

Criando um contrato WCF com uma interface

  1. Crie uma nova interface usando Visual Basic, C# ou qualquer outra linguagem comum de tempo de execução.

  2. Aplique a ServiceContractAttribute classe à interface.

  3. Defina os métodos na interface.

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

Exemplo

O exemplo 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 OperationContractAttribute classe 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, consulte 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 obter mais exemplos, consulte Como criar um contrato unidirecional e Como criar um contrato duplex.

Consulte também