Rapide présentation de WCF

Hello everyone !

Aujourd’hui est un grand jour ! En effet, ce que vous lisez présentement est mon tout premier article ! (Merci donc d’être indulgents ^^)
Et pour mon tout premier article, j’ai choisi comme sujet… WCF ! WCF n’est rien d’autre qu’un framework .Net pour les applications distribuées, c’est-à-dire les applications capables de communiquer avec d’autres situées soit sur le même serveur, soit sur différents serveurs via le réseau. Vous allez voir, il est très simple à mettre en place !

On va donc se créer notre projet WCF.

Youhou !
Maintenant des petites explications s’imposent sur ce qui a été généré.

Voyons tout d’abord l’interface IService1.cs.

Pour qu’une interface soit exposée en tant que contrat de service, il faut qu’elle ait l’attribut [ServiceContract]. Mais ce n’est pas tout. Pour que les méthodes qu’elle contient soient exposées, il faut également que chacune ait l’attribut [OperationContract]. (Vous pouvez donc créer des méthodes qui ne seront pas exposées).

On voit également en-dessous une classe nommée CompositeType. Il s’agit d’une classe qui pourra être utilisée en paramètre / type de retour des méthodes exposées. (Bon, ce n’est pas très beau que cette classe se retrouve dans IService1.cs, on pourra évidemment la déplacer).
En fait, toutes les classes que vous voudrez créer et passer en entrée / sortie d’une méthode exposée devront avoir ces attributs :
[DataContract] sur la classe, et [DataMember] pour chaque propriété que vous voudrez exposer, comme vous pouvez le voir pour CompositeType.

Maintenant jetons un rapide coup d’œil à Service1.svc.

Il s’agit tout simplement de l’implémentation de notre interface. So easy !

Pour finir, lançons notre projet.

On retrouve l’architecture de notre projet. Mais surtout, au clic sur notre fameux Service1.svc, nous retrouvons… notre précieux wsdl, aka la définition de notre contrat d’interface !

Le premier lien vous présente les méthodes exposées (c’est ce lien qui sera utilisé par les applications appelantes).

Il y a bien nos deux méthodes : GetData et GetDataUsingDataContract.

Le deuxième lien est plus complet : en plus des méthodes exposées, vous y retrouverez également la description des classes pouvant être utilisées en tant que paramètres / types de retour.

On y retrouve alors les classes du framework… ainsi que notre joli CompositeType !

Et voilà ! Rien de bien compliqué n’est-ce pas ? Mais qui dit application distribuée dit aussi… application cliente ! Ça tombe bien, c’est ce que nous verrons… dans mon prochain article ! 😉

Un commentaire

Laisser un commentaire

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

Captcha *