Partager via


Implémentation de contrats de service

Un service est une classe qui expose les fonctionnalités disponibles pour les clients sur un ou plusieurs points de terminaison. Pour créer un service, écrivez une classe qui implémente un contrat Windows Communication Foundation (WCF). Vous pouvez effectuer cette opération de deux manières. Vous pouvez définir le contrat séparément en tant qu’interface, puis créer une classe qui implémente cette interface. Vous pouvez également créer la classe et le contrat directement en plaçant l’attribut ServiceContractAttribute sur la classe elle-même et l’attribut OperationContractAttribute sur les méthodes disponibles pour les clients du service.

Création d’une classe de service

Voici un exemple de service qui implémente un IMath contrat qui a été défini séparément.

// 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; }  
}  

Un service peut également exposer un contrat directement. Voici un exemple de classe de service qui définit et implémente un MathService contrat.

// 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; }  
}  

Notez que les services précédents exposent différents contrats, car les noms des contrats sont différents. Dans le premier cas, le contrat exposé est nommé «IMath » alors que dans le deuxième cas, le contrat est nommé «MathService ».

Vous pouvez définir quelques éléments au niveau de l’implémentation du service et de l’opération, tels que la concurrence et l’instanciation. Pour plus d’informations, consultez Conception et implémentation des services.

Après avoir implémenté un contrat de service, vous devez créer un ou plusieurs points de terminaison pour le service. Pour plus d’informations, consultez Vue d’ensemble de la création de point de terminaison. Pour plus d’informations sur l’exécution d’un service, consultez Services d’hébergement.

Voir aussi