Tutoriel : Définir un contrat de service Windows Communication Foundation

Ce tutoriel décrit les cinq premières tâches requises pour créer une application Windows Communication Foundation (WCF) de base. Pour obtenir une vue d’ensemble des tutoriels, consultez Tutoriel : Prise en main des applications Windows Communication Foundation.

Lorsque vous créez un service WCF, votre première tâche consiste à définir un contrat de service. Le contrat de service spécifie les opérations prises en charge par le service. Une opération peut être considérée comme une méthode de service Web. Vous créez des contrats de service en définissant une interface C# ou Visual Basic. Une interface présente les caractéristiques suivantes :

  • Chaque méthode dans l'interface correspond à une opération de service spécifique.
  • Pour chaque interface, vous devez appliquer l’attribut ServiceContractAttribute.
  • Pour chaque opération/méthode, vous devez appliquer l’attribut OperationContractAttribute.

Dans ce tutoriel, vous allez apprendre à :

  • Créez un projet Bibliothèque de services WCF.
  • Définir une interface de contrat de service.

Créer un projet de bibliothèque de services WCF et définir une interface de contrat de service

  1. Ouvrez Visual Studio en tant qu’administrateur. Pour ce faire, sélectionnez le programme Visual Studio dans le menu Démarrer, puis sélectionnez Plus>Exécuter en tant qu’administrateur dans le menu contextuel.

  2. Créez un projet Bibliothèque de services WCF.

    1. Dans le menu Fichier, sélectionnez Nouveau>Projet.

    2. Dans la boîte de dialogue Nouveau projet, sur le côté gauche, développez Visual C# ou Visual Basic, puis sélectionnez la catégorie WCF. Visual Studio affiche une liste de modèles de projet dans la section centrale de la fenêtre. Sélectionnez Bibliothèque de services WCF.

      Notes

      Si vous ne voyez pas la catégorie de modèle de projet WCF, vous devrez peut-être installer le composant Windows Communication Foundation de Visual Studio. Dans la boîte de dialogue Nouveau projet, sélectionnez le lien Ouvrir Visual Studio Installer sur le côté gauche. Sélectionnez l’onglet Composants individuels, puis recherchez et sélectionnez Windows Communication Foundation sous la catégorie Activités de développement. Choisissez Modifier pour commencer à installer le composant.

    3. Dans la section inférieure de la fenêtre, entrez GettingStartedLib pour le Nom et GettingStarted pour le Nom de la solution.

    4. Sélectionnez OK.

      Visual Studio crée le projet, qui a trois fichiers : IService1.cs (ou IService1.vb pour un projet Visual Basic), Service1.cs (ou Service1.vb pour un projet Visual Basic) et App.config. Visual Studio définit ces fichiers comme suit :

      • Le fichier IService1 contient la définition par défaut du contrat de service.
      • Le fichier Service1 contient l’implémentation par défaut du contrat de service.
      • Le fichier App.config contient les informations de configuration nécessaires pour charger le service par défaut avec l’outil d’hôte de service WCF Visual Studio. Pour plus d’informations sur l’outil Hôte de service WCF, consultez WCF Service Host (WcfSvcHost.exe).

      Notes

      Si vous avez installé Visual Studio avec les paramètres d’environnement de développeur Visual Basic, la solution peut être masquée. Si c’est le cas, sélectionnez Options dans le menu Outils, puis Projets et solutions>Général dans la fenêtre Options. Sélectionnez Toujours afficher la solution. Vérifiez également qu’Enregistrer les nouveaux projets lors de leur création est sélectionné.

  3. À partir de l’Explorateur de solutions, ouvrez le fichier IService1.cs ou IService1.vb, puis remplacez son code par le code suivant :

    using System;
    using System.ServiceModel;
    
    namespace GettingStartedLib
    {
            [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
            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);
            }
    }
    
    Imports System.ServiceModel
    
    Namespace GettingStartedLib
    
        <ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
        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
    End Namespace
    

    Ce contrat définit une calculatrice en ligne. Notez que l’interface ICalculatorest marquée avec l’attribut ServiceContractAttribute (simplifié en ServiceContract). Cet attribut définit un espace de noms pour lever l’ambiguïté du nom de contrat. Le code marque chaque opération de calculatrice avec l’attribut OperationContractAttribute (simplifié comme OperationContract).

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • Créez un projet Bibliothèque de services WCF.
  • Définir une interface de contrat de service.

Passez au tutoriel suivant pour apprendre à implémenter le contrat de service WCF.