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.