Un tableau comparatif des bindings WCF
Les endpoints (points de terminaisons) Windows Communication Foundation reposent sur un triplet "ABC" :
- A pour adresse
- B pour binding
- C pour contrat
Le point qui peut paraître un peu obscur au début, c'est surtout le binding. En fait, un binding représente ce qui est nécessaire à une application cliente pour qu'elle puisse se connecter à un service. Un service peut exposer plusieurs endpoints, donc utiliser plusieurs bindings à la fois.
Voici une liste des principaux bindings de WCF :

A partir de cette liste, vous pourrez choisir celui qui vous convient le mieux.
Seuls les binding utilisant Http comme transport sont interopérables. Les autres bindings ont été plus ou moins conçus par Microsoft, donc vous ne pourrez les utiliser que si le client et le serveur utiliseront WCF. Au niveau de la sécurité, tous les bindings utilisent un transport securisé (T), et tous sauf basicHttpBinding utilisent des messages securisés. La colonne qui peut être intéressante est la colonne Duplex. Le bindings permettant de faire du DuplexChannel pourront être utilisés avec des services utilisant un callback.
Juste un mot à propos du netNamedPipsBinding : il s'agit d'un binding permettant de faire communiquer deux processus s'exécutant sur la même machine. C'est très intéressant puisqu'on peut imaginer un programme exposant un service avec ce binding. Et ce programme pourrait ainsi intéragir avec un autre processus, et tout cela en bénéficiant de la simplicité de WCF. Le gain par rapport à l'utilisation de messages Windows est enorme.
Il existe également un mexHttpBinding (pour Metadata Exchange) qui permet d'exposer des metadata relatives au service.
Cette liste n'est bien entendu pas exhaustive puisque chacun est libre de développer de nouveaux bindings.
Le tableau ci-dessus a été trouvé sur ce blog.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :