Vue d’ensemble des liaisons Windows Communication FoundationWindows Communication Foundation Bindings Overview

Les liaisons sont des objets qui sont utilisés pour spécifier les détails de communication qui sont requises pour se connecter au point de terminaison d’un service Windows Communication Foundation (WCF).Bindings are objects that are used to specify the communication details that are required to connect to the endpoint of a Windows Communication Foundation (WCF) service. Chaque point de terminaison dans un service WCF requiert une liaison soit spécifiée correctement.Each endpoint in a WCF service requires a binding to be well-specified. Cette rubrique décrit les types de détails de communication définis par les liaisons, les éléments d’une liaison, les liaisons incluses dans WCF et comment une liaison peut être spécifiée pour un point de terminaison.This topic outlines the types of communication details that the bindings define, the elements of a binding, what bindings are included in WCF, and how a binding can be specified for an endpoint.

Ce que définit une liaisonWhat a Binding Defines

Les informations contenues dans une liaison peuvent être basiques ou très complexes.The information in a binding can be very basic, or very complex. La liaison la plus basique spécifie uniquement le protocole de transport (par exemple HTTP) qui doit être utilisé pour se connecter au point de terminaison.The most basic binding specifies only the transport protocol (such as HTTP) that must be used to connect to the endpoint. En règle générale, les informations que contient une liaison sur la façon de se connecter à un point de terminaison appartiennent à une des catégories suivantes :More generally, the information a binding contains about how to connect to an endpoint falls into one of the following categories:

ProtocolesProtocols
Détermine le mécanisme de sécurité utilisé : soit une fonction de messagerie fiable, soit des paramètres de flux de contexte de transaction.Determines the security mechanism being used: either reliable messaging capability or transaction context flow settings.

EncodageEncoding
Détermine l'encodage de message (par exemple, texte ou binaire).Determines the message encoding (for example, text or binary).

TransportTransport
Détermine le protocole de transport sous-jacent à utiliser (par exemple, TCP ou HTTP).Determines the underlying transport protocol to use (for example, TCP or HTTP).

Les éléments d’une liaisonThe Elements of a Binding

Une liaison est constituée fondamentalement d’une pile ordonnée d’éléments de liaison, chacun spécifiant une partie des informations de communication requises pour se connecter à un point de terminaison de service.A binding basically consists of an ordered stack of binding elements, each of which specifies part of the communication information required to connect to a service endpoint. Les deux couches inférieures de la pile sont requises.The two lowest layers in the stack are both required. À la base de la pile se trouve l'élément de liaison de transport, et juste au-dessus de celui-ci se trouve l'élément qui contient les spécifications d'encodage de message.At the base of the stack is the transport binding element and just above this is the element that contains the message encoding specifications. Les éléments de liaison facultatifs qui spécifient les autres protocoles de communication sont disposés en couches sur ces deux éléments requis.The optional binding elements that specify the other communication protocols are layered above these two required elements. Pour plus d’informations sur ces éléments de liaison et leur classement approprié, consultez liaisons personnalisées.For more information about these binding elements and their correct ordering, see Custom Bindings.

Liaisons fournies par le systèmeSystem-Provided Bindings

Les informations contenues dans une liaison peuvent être complexes et certains paramètres peuvent ne pas être compatibles avec d’autres.The information in a binding can be complex, and some settings may not be compatible with others. Pour cette raison, WCF inclut un ensemble de liaisons fournies par le système.For this reason, WCF includes a set of system-provided bindings. Ces liaisons sont conçues pour couvrir la plupart des exigences d’applications.These bindings are designed to cover most application requirements. Les classes suivantes représentent quelques exemples de liaisons fournies par le système :The following classes represent some examples of system-provided bindings:

  • BasicHttpBinding: Un liaison de protocole HTTP adaptée à la connexion aux services Web qui est conforme à la norme WS-I spécification Basic Profile (par exemple, services Web ASP.NET basée sur les services).BasicHttpBinding: An HTTP protocol binding suitable for connecting to Web services that conforms to the WS-I Basic Profile specification (for example, ASP.NET Web services-based services).

  • WSHttpBinding: Une liaison interopérable adaptée à la connexion aux points de terminaison qui se conforment à WS-* protocoles.WSHttpBinding: An interoperable binding suitable for connecting to endpoints that conform to the WS-* protocols.

  • NetNamedPipeBinding: Utilise le .NET Framework pour se connecter aux autres points de terminaison WCF sur le même ordinateur.NetNamedPipeBinding: Uses the .NET Framework to connect to other WCF endpoints on the same machine.

  • NetMsmqBinding: Utilise en file d’attente de .NET Framework pour créer des connexions avec d’autres points de terminaison WCF de message.NetMsmqBinding: Uses the .NET Framework to create queued message connections with other WCF endpoints.

  • NetTcpBinding: Cette liaison offre de meilleures performances que les liaisons HTTP et est idéale pour une utilisation dans un réseau local.NetTcpBinding: This binding offers higher performance than HTTP bindings and is ideal for use in a local network.

Pour obtenir la liste complète, avec leurs descriptions, de toutes les fourni par WCF liaisons, consultez System-Provided Bindings.For a complete list, with descriptions, of all the WCF-provided bindings, see System-Provided Bindings.

Utilisation de vos propres liaisonsUsing Your Own Bindings

Si aucune des liaisons fournies par le système ne possède la bonne combinaison de fonctionnalités requise par une application de service, vous pouvez créer votre propre liaison.If none of the system-provided bindings included has the right combination of features that a service application requires, you can create your own binding. Il existe deux manières de procéder.There are two ways to do this. Vous pouvez soit créer une liaison à partir d'éléments de liaison préexistants à l'aide d'un objet CustomBinding, soit créer une liaison entièrement définie par l'utilisateur en dérivant de la liaison Binding.You can either create a new binding from pre-existing binding elements using a CustomBinding object or you can create a completely user-defined binding by deriving from the Binding binding. Pour plus d’informations sur la création de votre propre liaison à l’aide de ces deux approches, consultez liaisons personnalisées et Creating liaisons.For more information about creating your own binding using these two approaches, see Custom Bindings and Creating User-Defined Bindings.

Utilisation des liaisonsUsing Bindings

L’utilisation des liaisons implique deux étapes simples :Using bindings entails two basic steps:

  1. Sélectionner ou définir une liaison.Select or define a binding. La méthode la plus simple consiste à choisir une des liaisons fournies par le système incluses avec WCF et l’utiliser avec ses paramètres par défaut.The easiest method is to choose one of the system-provided bindings included with WCF and use it with its default settings. Vous pouvez également choisir une liaison fournie par le système et réinitialiser ses valeurs de propriété en fonction de vos spécifications.You can also choose a system-provided binding and reset its property values to suit your requirements. En guise d’alternative, vous pouvez créer une liaison personnalisée ou une liaison définie par l’utilisateur afin de disposer d’un degré de contrôle et de personnalisation plus élevé.Alternatively, you can create a custom binding or a user-defined binding to have higher degrees of control and customization.

  2. Créer un point de terminaison qui utilise la liaison sélectionnée ou définie.Create an endpoint that uses the binding selected or defined.

Code et configurationCode and Configuration

Vous pouvez définir des liaisons de deux manières : par le biais de code ou par configuration.You can define bindings in two ways: through code or through configuration. Ces deux approches ne dépendent pas du fait que vous utilisez une liaison fournie par le système ou une liaison personnalisée.These two approaches do not depend on whether you are using a system-provided binding or a custom binding. En général, l’utilisation de code procure un contrôle total sur la définition d’une liaison au moment du design.In general, using code gives you complete control over the definition of a binding at design time. À l’aide de la configuration, en revanche, permet à un administrateur système ou l’utilisateur d’un service WCF ou le client pour modifier les paramètres d’une liaison sans devoir recompiler l’application de service.Using configuration, on the other hand, allows a system administrator or the user of a WCF service or client to change the parameters of a binding without having to recompile the service application. Cette souplesse est souvent souhaitable car il n’existe aucun moyen de prévoir les exigences spécifiques du matériel sur lequel une application WCF doit être déployée.This flexibility is often desirable because there is no way to predict specific machine requirements on which a WCF application is to be deployed. Le fait de conserver les informations de liaison (et d’adressage) hors du code leur permet de changer sans nécessiter de recompilation ou de redéploiement de l’application.Keeping the binding (and the addressing) information out of the code allows them to change without requiring recompilation or redeployment of the application. Notez que les liaisons définies dans le code sont créées après les liaisons spécifiées dans la configuration, ce qui permet aux liaisons définies dans le code de remplacer celles définies par configuration.Note that bindings defined in code are created after bindings specified in configuration, allowing the code-defined bindings to overwrite any configuration-defined bindings.

Voir aussiSee also