Comment : 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 le sujet suivant 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.

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

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 le sujet suivant ce modèle de message, consultez Comment : créer un contrat 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 Comment : créer un contrat unidirectionnel et Comment : créer un contrat duplex.

Voir aussi

Référence

ServiceContractAttribute
OperationContractAttribute