Procédure : créer un service avec une interface de contrat

La méthode préconisée pour créer un contrat Windows Communication Foundation (WCF) consiste à utiliser une interface. Ce contrat spécifie la collection et la structure des messages requis pour accéder aux opérations offertes par le service. Cette interface définit les types d'entrée et de sortie en appliquant la classe ServiceContractAttribute à l'interface et la classe OperationContractAttribute aux méthodes que vous souhaitez exposer.

Pour plus d’informations sur les contrats de service, consultez Conception de contrats de service.

Création d'un contrat WCF avec une interface

  1. Créez une interface à l’aide de Visual Basic, C# ou tout autre langage CLR (Common Language Runtime).

  2. Appliquez la classe ServiceContractAttribute à l'interface.

  3. Définissez les méthodes dans l'interface.

  4. Appliquez la classe OperationContractAttribute à chaque méthode qui doit être exposée dans le cadre du contrat public WCF.

Exemple

L'exemple de code suivant présente une interface qui définit un contrat de service.

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
   [OperationContract]
   double Add(double n1, double n2);
   [OperationContract]
   double Subtract(double n1, double n2);
   [OperationContract]
   double Multiply(double n1, double n2);
   [OperationContract]
   double Divide(double n1, double n2);
}


<ServiceContract()> _
Public Interface ICalculator
    <OperationContract()> _
    Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface

Les méthodes auxquelles la classe OperationContractAttribute est appliquée utilisent un modèle de message demande-réponse par défaut. Pour plus d’informations sur ce modèle de message, consultez Procédure : Créer un contrat de type demande-réponse. Vous pouvez également créer et utiliser d'autres modèles de message en définissant les propriétés de l'attribut. Pour obtenir d’autres exemples, consultez Procédure : Créer un contrat unidirectionnel et Procédure : Créer un contrat duplex.

Voir aussi