Procédure pas à pas : création et utilisation des services WCF
Cette procédure pas à pas montre comment créer un simple service Windows Communication Foundation (WCF), le tester et y accéder à partir d'une application Windows Forms.
Notes
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués 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, voir 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, puis sur Bibliothèque du service WCF. Cliquez sur OK pour ouvrir le projet.
Notes
Un service actif est créé, qui peut être testé et est accessible.Les deux étapes suivantes montrent comment vous pouvez modifier la méthode par défaut pour utiliser un autre type de données.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, notez 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, puis 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 du paramètre value 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 Client test WCF s'affiche et charge le service.
Dans le formulaire Client test WCF, double-cliquez sur la méthode GetData() sous IService1. L'onglet GetData s'affiche.
Dans la zone Demande box, sélectionnez le champ Valeur et entrez Hello.
Cliquez sur le bouton Appeler. Si une boîte de dialogue Avertissement de sécurité s'affiche, cliquez sur OK. Les résultats s'affichent dans la zone Réponse.
Dans le menu Fichier, cliquez sur Quitter pour fermer le formulaire de test.
Accès au service
Pour faire référence à 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, puis 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 s'affiche dans le volet Services.
Cliquez sur OK pour ajouter la 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 ne l'est déjà.
À partir de la boîte à outils, faites glisser vers le formulaire un contrôle TextBox, un contrôle Label et un contrôle Button.
Double-cliquez sur le contrôle Button, puis 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 un texte et cliquez sur le bouton. Le message « Vous avez entré : » s'affichera, suivi du texte que vous avez entré.