Procédure pas à pas : création et utilisation des services WCF
Cette procédure pas à pas montre comment créer un service Windows Communication Foundation (WCF) simple, le tester puis y accéder à partir d'une application Windows Forms.
Notes
Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Création du service
Pour créer un service WCF
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
Dans la boîte de dialogue Nouveau projet, développez le nœud Visual Basic ou Visual C#, puis cliquez sur WCF, suivi de Bibliothèque de services WCF. Cliquez sur OK pour ouvrir le projet.
Notes
Cette opération crée un service actif qui peut être testé et auquel il est possible d'accéder. Les deux étapes suivantes montrent comment vous pourriez modifier la méthode par défaut pour utiliser un type de données différent. Dans une application réelle, vous ajouteriez également vos propres fonctions au service.
Dans l'Explorateur de solutions, double-cliquez sur IService1.vb ou IService1.cs et recherchez la ligne suivante :
<OperationContract()> Function GetData(ByVal value As Integer) As String
[OperationContract] string GetData(int value);
Modifiez le type du paramètre value en String :
<OperationContract()> Function GetData(ByVal value As String) As String
[OperationContract] string GetData(string value);
Dans le code ci-dessus, remarquez les attributs <OperationContract()> ou [OperationContract]. Ces attributs sont obligatoires pour toute méthode exposée par le service.
Dans l'Explorateur de solutions, double-cliquez sur Service1.vb ou Service1.cs et recherchez la ligne suivante :
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(int value) { return string.Format("You entered: {0}", value); }
Modifiez le type pour le paramètre de valeur en String :
Public Function GetData(ByVal value As String) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(string value) { return string.Format("You entered: {0}", value); }
Test du Service
Pour tester un service WCF
Appuyez sur F5 pour exécuter le service. Un formulaire WCF Test Client s'affiche et charge le service.
Dans le formulaire WCF Test Client, double-cliquez sur la méthode GetData() sous IService1. L'onglet GetData s'affiche.
Dans la zone Demande, sélectionnez le champ Valeur et tapez Hello.
Cliquez sur le bouton Appeler. Si une boîte de dialogue Avertissement de sécurité s'affiche, cliquez sur OK. Le résultat s'affiche dans la zone Réponse.
Dans le menu Fichier, cliquez sur Quitter pour fermer le formulaire de test.
Accès au service
Pour référencer un service WCF
Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur Nouveau projet.
Dans la boîte de dialogue Nouveau projet, développez le nœud Visual Basic ou Visual C# et sélectionnez Windows, puis Application Windows Forms. Cliquez sur OK pour ouvrir le projet.
Cliquez avec le bouton droit sur WindowsApplication1 et cliquez sur Ajouter une référence de service. La boîte de dialogue Ajouter une référence de service s'affiche.
Dans la boîte de dialogue Ajouter une référence de service, cliquez sur Découvrir.
Service1 est affiché dans le volet Services.
Cliquez sur OK pour ajouter une référence de service.
Pour générer une application cliente
Dans l'Explorateur de solutions, double-cliquez sur Form1.vb ou Form1.cs pour ouvrir le Concepteur Windows Forms s'il n'est pas déjà ouvert.
À partir de la boîte à outils, faites glisser un contrôle TextBox, un contrôle Label et un contrôle Button sur le formulaire.
Double-cliquez sur le Button et ajoutez le code suivant au gestionnaire d'événements Click :
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim client As New ServiceReference1.Service1Client Dim returnString As String returnString = client.GetData(TextBox1.Text) Label1.Text = returnString End Sub
private void button1_Click(System.Object sender, System.EventArgs e) { ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); string returnString; returnString = client.GetData(textBox1.Text); label1.Text = returnString; }
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur WindowsApplication1, puis cliquez sur Définir comme projet de démarrage.
Appuyez sur F5 pour exécuter le projet. Entrez du texte et cliquez sur le bouton. L'étiquette affichera « Vous avez entré » :, suivi du texte que vous avez entré.