Sommaire

Utiliser les webservices avec WCF

WCF est une couche de la plate-forme .NET qui unifie et simplifie la réalisation de services. Évidemment, le développement de services web, mais également d’autres types de services comme .NET Remoting ou encore Microsoft Message Queuing.

De façon transversale, on définit toujours un service de la même manière : en établissant un contrat de service. En effet, WCF est basé sur un modèle ABC (Address - Binding - Contract) dans lequel on définit :

  • l’adresse (l’endroit) à laquelle on trouve le service,

  • le binding (le moyen) qui permet d’atteindre ladite adresse (HTTP, HTTPS ou un autre protocole),

  • le contrat qui définit la fonction même du service.

Pour définir un service, il suffit de préciser l’attribut [ServiceContract] sur l’interface ou la classe dudit service.

Pour chaque méthode appelable au sein de ce service, on précise la nature de méthode fournie par le webservice grâce à l’attribut [OperationContract] sur chacune des méthodes.

Par exemple, on définit le contrat de service suivant. En l’occurrence, c’est une calculatrice :

[ServiceContract]   
public interface ICalculatrice   
{   
    [OperationContract]   
    double Additionner(double n1, double n2);   
    [OperationContract]   
    double Soustraire(double ...