Liaisons personnalisées
Vous pouvez utiliser la classe CustomBinding lorsque l’une des liaisons fournies par le système ne répond pas aux spécifications de votre service. Toutes les liaisons sont construites à partir d’un ensemble ordonné d’éléments de liaison. Les liaisons personnalisées peuvent être construites à partir d’un jeu d’éléments de liaison fournis par le système ou peuvent inclure des éléments de liaison personnalisés définis par l’utilisateur. Vous pouvez utiliser des éléments de liaison personnalisés pour activer, par exemple, l’utilisation de nouveaux transports ou encodeurs au niveau d’un point de terminaison de service. Pour obtenir des exemples fonctionnels, consultez Exemples de liaison personnalisée. Pour plus d’informations, consultez <customBinding>.
Construction d’une liaison personnalisée
Une liaison personnalisée est construite à l’aide du constructeur CustomBinding à partir d’éléments de liaison « empilés » dans un ordre spécifique :
Au sommet de cette pile se trouve une classe TransactionFlowBindingElement facultative qui autorise les transactions de flux.
L'élément suivant est une classe ReliableSessionBindingElement facultative qui fournit une session et des mécanismes de classement tel que défini dans la spécification WS-ReliableMessaging. Une session peut traverser les intermédiaires SOAP et de transport.
L’élément suivant est une classe SecurityBindingElement facultative qui fournit des fonctionnalités de sécurité telles que l’autorisation, l’authentification, la protection et la confidentialité.
Vous trouverez ensuite une classe CompositeDuplexBindingElement facultative qui permet de disposer d'une communication en duplex bidirectionnelle avec un protocole de transport qui ne prend pas en charge la communication en duplex en mode natif, comme HTTP.
Vous trouverez ensuite une classe OneWayBindingElement facultative qui fournit une communication unidirectionnelle.
Puis, vous trouverez un élément de liaison de sécurité de flux de données facultatif qui peut être l’un des éléments suivants.
L’élément suivant est un message obligatoire qui encode l’élément de liaison. Vous pouvez utiliser votre propre encodeur de message ou l’une des trois liaisons d’encodage de message :
Au bas de la pile se trouve un élément de transport obligatoire. Vous pouvez utiliser votre propre transport ou l’un des éléments de liaison de transport suivants, fournis par Windows Communication Foundation (WCF) :
Le tableau suivant récapitule les options de chaque couche.
Couche | Options | Obligatoire |
---|---|---|
Transactions | TransactionFlowBindingElement | Non |
Fiabilité | ReliableSessionBindingElement | Non |
Sécurité | SecurityBindingElement | Non |
Encodage | Texte, binaire, MTOM (Message Transmission Optimization Mechanism), personnalisé | Oui |
Transport | TCP, HTTP, HTTPS, canaux nommés (également appelés IPC), P2P (Peer-to-Peer), Message Queuing (également appelé MSMQ), Custom | Oui |
De plus, vous pouvez définir vos propres éléments de liaison et les insérer entre chacune des couches définies précédentes.