Créer un client WCF

Hello everyone !

Chose promise, chose due : après vous avoir montré comment mettre en place un projet WCF, nous allons maintenant lui associer une application cliente (il faut bien qu’il serve à quelque chose notre petit projet WCF !).

On va se créer une simple application console.



Voilà qui est classique.

Maintenant il va falloir que notre client communique avec notre projet WCF.
Pour cela, il faut récupérer l’adresse du service sur le réseau (vous vous souvenez, notre fameux Service1.svc) : dans notre cas il s’agit de http://localhost:31845/Service1.svc.
Il faut alors rajouter cette adresse comme référence de service.

En cliquant sur « Go » après avoir renseigné l’adresse, on voit que le service a bien été trouvé.

Et hop ! Notre client connaît maintenant notre projet WCF.

Mais comment faire pour qu’il puisse l’utiliser ?
Analysons le code suivant.

Tout d’abord nous voyons que nous avons accès au namespace ServiceReference1 (la référence à notre projet WCF). Avec ce dernier nous pouvons instancier la classe Service1Client : il s’agit, comme son nom l’indique, d’une classe cliente de notre projet WCF, c’est donc cette classe qui pourra faire appel à ses fonctions, comme nous pouvons le voir dès la deuxième ligne avec l’utilisation de la méthode GetData().

Mais ServiceReference1 permet également d’avoir accès à la classe CompositeType (souvenez-vous, il s’agit de la classe de notre projet WCF qui peut être utilisée en paramètre / type de retour de ses méthodes, ce que l’on peut voir avec l’utilisation de la méthode GetDataUsingDataContract()). On a également accès aux propriétés de l’objet instancié. (N’oubliez pas l’importance des attributs dans le projet WCF pour permettre tous ces accès !).

Bon, on se lance ?

Ça fonctionne ! (Quoi, vous n’y croyiez pas ?)

Et voilà, ici s’achève mon petit tuto sur comment créer un client pour un projet WCF. Easy as hell !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *