Implementando contratos de serviço
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, grave uma classe que implemente um contrato do Windows Communication Foundation (WCF). É possível fazer isso de duas formas. Você pode definir o contrato separadamente como uma interface e, em seguida, criar uma classe que implemente essa interface. Como alternativa, você pode criar a classe e o contrato diretamente colocando o atributo ServiceContractAttribute na própria classe e o atributo OperationContractAttribute nos métodos disponíveis para os clientes do serviço.
Criando uma classe de serviço
Veja a seguir um exemplo de um serviço que implementa um contrato IMath
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. Veja a seguir um exemplo de uma classe de serviço que define e implementa um contrato MathService
.
// 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 instanciação. 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 do ponto de extremidade. Para obter mais informações sobre como executar um serviço, consulte Serviços de Hospedagem.