Partager via


Implémentation de contrats de service

Un service est une classe qui expose les fonctionnalités disponibles aux clients à 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 le faire de deux façons. Vous pouvez définir séparément le contrat comme une 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 qui sont à la disposition des clients du service.

Création d'une classe de service

Voici l'exemple d'un service qui implémente un contrat IMath 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 directement un contrat. Voici l'exemple d'une classe de service qui définit et implémente un contrat 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; }
}

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

Vous pouvez définir quelques éléments au niveau de l'implémentation du service et des opérations, tels que l'accès concurrentiel et l'instanciation. Pour plus d'informations, consultez Conception et implémentation de 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 points de terminaison. Pour plus d'informations sur le sujet suivant l'exécution d'un service, consultez Hébergement de services.

Voir aussi

Tâches

Comment : créer un contrat Windows Communication Foundation à l'aide d'une classe
Comment : créer un service avec une interface de contrat

Concepts

Conception et implémentation de services
Spécification du comportement du service au moment de l'exécution