[.Net3/WCF] 1ère approche - construction d'un client WCF

Décembre 2017


Windows Communication Fundation - première approche



A propos


Ce second est le dernier tutoriel d'une "1ère approche WCF". Il explique pas à pas les différentes étapes de la construction d'une application cliente WCF.

Pour ceux qui découvrent WCF, j'espère que ces 2 tutoriaux vous satisferont:


Bon client :)

Construction du client WCF


Le client consommera les opérations du service que nous avons construit dans le 1er tutoriel. C'est-à-dire:
  • Obtenir des informations sur un membre de Codes-Sources.
  • Lister les membres de Codes-Sources.
  • Supprimer un membre.
  • Créer un nouveau membre.
  • Simple addition entre deux nombres.

A présent passons à la création de notre client WCF. Créer un nouveau projet de type « Application console ».


Avant toute chose, il faut ajouter une référence vers l'assemblage System.ServiceModel. Une application cliente WCF se doit de toujours posséder une référence vers cet assemblage. Et pour cause cet assemblage fournit les méthodes nécessaires à la communication avec un service WCF. Ajouter la directive
using System.ServiceModel;
.

Ajout du service WCF DemoWCFService


Il faut bien évidement ajouter une référence au service créé auparavant. Faites un clic droit sur le projet dans l'Explorateur de Solution et « Add Service Référence » , la fenêtre suivante apparaît.


Entrez l'adresse de notre service WCF et donnez comme nom de référence « DemoServiceTest » puis valider.

En ajoutant cette référence, Visual Studio envoie une requête vers le service WCF « DemoWCF Service » , récupère ses métadonnées pour en générer une classe « proxy » à l'aide de ses informations. C'est de cette classe que notre client va se servir pour invoquer les opérations exposés par notre service.

J'ouvre une petite parenthèse, après l'ajout d'une référence vers notre service WCF, on observe deux fichiers « DemoServiceTest.cs » et « app.config » qui ont été ajoutés pendant l'étape précédente.


Le fichier « DemoServiceTest .cs » n'est autre que la classe « proxy » qui a été générée à partir des métadonnées du service WCF. « app.config », fichier de configuration de notre client renfermant les paramètres employé par le client pour se connecter au service WCF.

Partie code du client


Première chose à faire, se connecter à notre service WCF à l'aide de la classe « proxy ». BasicHttpBinding_IDemoWCFService Indique lors de la connexion au service le nom point de terminaison à utiliser dans le fichier « app.config ».

using System;
using System.Collections.Generic;
using System.ServiceModel;
using DemoWCFClient.DemoServiceTest;

namespace DemoWCFClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //Nouvelle instance du proxy et connexion au service
            DemoWCFServiceClient client = new DemoWCFServiceClient("BasicHttpBinding_IDemoWCFService");
        }
    }
}


Et ne pas oublier à la fin de fermer la connexion au service une fois les opérations du service appelées (Je présente uniquement une partie des tests des opérations du service ci-dessous).

//Test 4 - Ajoute un nouveau membre
if (proxy.NouveauMembre(12345, "C_O_D_Y_X", "BotCS", "Bot", 1000, @"http://www.codes-sources.com", false))
    Console.WriteLine("Le nouveau membre C_O_D_Y_X a été ajouté");
else
    Console.WriteLine("Echec de création du nouveau membre C_O_D_Y_X");

Console.WriteLine("");

//Test5 - Simple addition
Console.WriteLine("Addition de 2 + 2 = {0}", proxy.Addition2, 2));

//Deconnexion du service
proxy.Close();

Aperçu de l'application cliente

Publié par cs_Willi.
Ce document intitulé «  [.Net3/WCF] 1ère approche - construction d'un client WCF  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Ajouter un commentaire

Commentaires

Commenter la réponse de cs_Vilma
[.Net3/WCF] 1ère approche - construction d'un service WCF
Gestion des exception + lecture fichier + directive précompilation