Implementação de contratos de serviços

Um serviço é uma classe que expõe a funcionalidade disponível para clientes em um ou mais pontos de extremidade. Para criar um serviço, escreva uma classe que implemente um contrato do Windows Communication Foundation (WCF). Pode fazê-lo de duas formas. Você pode definir o contrato separadamente como uma interface e, em seguida, criar uma classe que implementa essa interface. Como alternativa, você pode criar a classe e o contrato diretamente, colocando o ServiceContractAttribute atributo na própria classe e o OperationContractAttribute atributo nos métodos disponíveis para os clientes do serviço.

Criando uma classe de serviço

Segue-se um exemplo de um serviço que implementa um IMath contrato que foi definido separadamente.

// Define the IMath contract.  
[ServiceContract]  
public interface IMath  
{  
    [OperationContract]
    double Add(double A, double B);  
  
    [OperationContract]  
    double Multiply (double A, double B);  
}  
  
// Implement the IMath contract in the MathService class.  
public class MathService : IMath  
{  
    public double Add (double A, double B) { return A + B; }  
    public double Multiply (double A, double B) { return A * B; }  
}  

Como alternativa, um serviço pode expor um contrato diretamente. A seguir está um exemplo de uma classe de serviço que define e implementa um MathService contrato.

// Define the MathService contract directly on the service class.  
[ServiceContract]  
class MathService  
{  
    [OperationContract]  
    public double Add(double A, double B) { return A + B; }  
    [OperationContract]  
    private double Multiply (double A, double B) { return A * B; }  
}  

Observe que os serviços anteriores expõem contratos diferentes porque os nomes dos contratos são diferentes. No primeiro caso, o contrato exposto é denominado "IMath", enquanto no segundo caso o contrato é denominado "MathService".

Você pode definir algumas coisas nos níveis de implementação de serviço e operação, como simultaneidade e instabilidade. Para obter mais informações, consulte Projetando e implementando serviços.

Depois de implementar um contrato de serviço, você deve criar um ou mais pontos de extremidade para o serviço. Para obter mais informações, consulte Visão geral da criação de pontos de extremidade. Para obter mais informações sobre como executar um serviço, consulte Serviços de hospedagem.

Consulte também