Binding Binding Binding Binding Class

Définition

Contient les éléments de liaison spécifiant les protocoles, les transports et les encodeurs de message utilisés pour la communication entre les clients et les services.Contains the binding elements that specify the protocols, transports, and message encoders used for communication between clients and services.

public ref class Binding abstract : System::ServiceModel::IDefaultCommunicationTimeouts
public abstract class Binding : System.ServiceModel.IDefaultCommunicationTimeouts
type Binding = class
    interface IDefaultCommunicationTimeouts
Public MustInherit Class Binding
Implements IDefaultCommunicationTimeouts
Héritage
BindingBindingBindingBinding
Dérivé
Implémente

Exemples

BasicHttpBinding binding = new BasicHttpBinding();

binding.Name = "binding1";

Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
Uri address = new Uri("http://localhost:8000/servicemodelsamples/service/calc");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);

    // Open the ServiceHostBase to create listeners and start listening for messages.
    serviceHost.Open();

    // The service can now be accessed.
    Console.WriteLine("The service is ready.");
    Console.WriteLine("Press <ENTER> to terminate service.");
    Console.WriteLine();
    Console.ReadLine();
    // Close the ServiceHostBase to shutdown the service.
    serviceHost.Close();
}

Remarques

Représente une collection d’éléments de liaison qui décrivent chacun un aspect de la façon dont un point de terminaison communique avec d’autres points de terminaison et qui sont générés de manière régulière dans une fabrique de canal sur le client et dans un écouteur de canal sur le service.Represents a collection of binding elements, each of which describes an aspect of how an endpoint communicates with other endpoints and that are built, consistently, into a channel factory on the client and into a channel listener on the service. Une liaison contient une collection d'éléments de liaison qui correspondent aux canaux de protocole, aux canaux de transport et aux encodeurs de message.A binding contains a collection of binding elements that correspond to protocol channels, transport channels, and message encoders. Les canaux de protocole peuvent avoir n’importe quel nombre d’éléments de liaison, mais le transport et l’encodeur de message ne peuvent en avoir qu’un.There can be any number of binding elements for protocol channels but one and only one binding element for each the transport and message encoder. Il y a généralement six couches d’éléments de liaison dans une liaison.There are commonly six layers of binding elements in a binding. Seuls les éléments de transport et d'encodage de liaison du bas de la pile sont requis.Only the transport and encoding binding elements at the bottom of the stack are required. Étant donné qu’un encodage est requis pour chaque liaison, si aucun encodage n’est spécifié, Windows Communication Foundation (WCF) ajoute un encodage par défaut pour vous.Because an encoding is required for each binding, if an encoding is not specified, Windows Communication Foundation (WCF) adds a default encoding for you. La valeur par défaut est Text/XML pour les transports HTTP et HTTPS, et Binary pour les autres transports.The default is Text/XML for the HTTP and HTTPS transports, and Binary for other transports.

Le tableau suivant récapitule les options de chaque couche.The following table summarizes the options for each layer.

CoucheLayer OptionsOptions ObligatoireRequired
Flux de transactionTransaction Flow TransactionFlowBindingElement NonNo
FiabilitéReliability ReliableSessionBindingElement NonNo
SécuritéSecurity Symétrique, asymétrique, au niveau du transportSymmetric, Asymmetric, Transport-Level NonNo
Modification de la formeShape Change CompositeDuplexBindingElement NonNo
Mises à niveau de transportTransport Upgrades Flux SSL, flux Windows, programme de résolution d'homologueSSL stream, Windows stream, Peer Resolver NonNo
EncodageEncoding Text, Binary, MTOM, CustomText, Binary, MTOM, Custom OuiYes
TransportTransport TCP, Named Pipes, HTTP, HTTPS, MSMQ, CustomTCP, Named Pipes, HTTP, HTTPS, MSMQ, Custom OuiYes

Chaque élément de liaison fournit la spécification permettant de générer une fabrique de canal sur le client et un écouteur de canal sur le service.Each binding element provides the specification for building a channel factory on the client and a channel listener on the service. Une fois que la pile de fabriques de canaux est construite, par exemple, il existe une fabrique de canal dans la pile pour chaque élément de liaison dans la liaison.When the channel factory stack is constructed, for example, there is one channel factory in the stack for each binding element in the binding. Le même type de mappage s'applique aux écouteurs de canal dans la pile sur le service.The same sort of mapping applies to the channel listeners in the stack on the service. La cohérence sur le client et le service est primordiale à l'établissement d'une la connexion basée sur canal entre ces points de terminaison.Consistency on the client and service is critical for establishing the channel-based connection between these endpoints. Chaque fabrique et écouteur procèdent, à tour de rôle, à l'émission et l'acceptation des canaux correspondants dans la pile de canaux qui les connecte et ces canaux peuvent ensuite envoyer et recevoir les messages utilisés pour communiquer.Each factory and listener, in turn, processes the sending and accepting of the corresponding channels in the channel stack that connects them, and these channels can then send and receive the messages used to communicate.

Chaque instance d'une classe Binding a une propriété Name et une propriété Namespace qui l'identifient de façon unique dans les métadonnées du service.Each instance of a Binding has a Name and Namespace that together uniquely identify it in the metadata of the service. Si aucun nom ou espace de noms n’est spécifié, WCF ajoute des valeurs par défaut pour vous.If no name or namespace is specified, WCF adds a default values for you. Le nom par défaut est null et l’espace de noms par défaut est http://tempuri.org/.The default name is null and the default namespace is http://tempuri.org/. Le nom d’utilisateur de cette liaison est différent de celui qui est précisé dans la spécification du nom de protocole, effectuée par la propriété Scheme.This user name for the binding is distinct from the specification of the protocol name, which is specified by the Scheme property. Si vous souhaitez ajouter plus de liaisons HTTP, par exemple, vous avez la possibilité de leur attribuer un nom de votre choix et de définir leurs modèles sur "http".If you want to add more HTTP bindings, for example, you can name them whatever you want and set all of their schemes to "http". Il n'existe pas d'application inhérente ou de répartition d'ordinateurs basées sur la propriété Scheme.There is no inherent application or machine dispatch based on the Scheme. Vous évitez ainsi le problème fréquent de ne pas pouvoir enregistrer de gestionnaires supplémentaires aux protocoles connus.So you avoid the common problem of being unable to register additional handlers for well-known protocols. Vous pouvez également facilement travailler côte à côte avec plusieurs versions différentes d’une même liaison en attribuant un nom différent à chacune d’entre elles.You can also easily work with multiple versions of a binding side-by-side by giving each version a different name.

La classe Binding implémente l'interface IDefaultCommunicationTimeouts afin de limiter les attaques par déni de service (DOS) qui monopolisent les ressources dans le but d'allonger les intervalles de temps.The Binding class implements the IDefaultCommunicationTimeouts interface to mitigate Denial of Service (DOS) attacks that rely on tying up resources for extended intervals of time. L'implémentation spécifie les valeurs des délais d'attente de communication pour l'ouverture et la fermeture des connexions et pour la lecture et l'écriture des opérations associées à la réception et l'envoi de messages.The implementation specifies the communication timeouts values for opening and closing connections and for the reading and writing operations associated with receiving and sending messages. Les propriétés utilisées pour obtenir et définir ces délais d'attente ainsi que les opérations se basant sur leurs valeurs par défaut sont résumées dans le tableau suivant.The properties used to get and set these timeouts and their default values operations are summarized in the following table.

Propriété du délai d'attenteTimeout Property Valeur par défautDefault Value
OpenTimeout 1 minute1 minute
CloseTimeout 1 minute1 minute
SendTimeout 1 minute1 minute
ReceiveTimeout 10 minutes10 minutes

Lorsque vous créez une liaison en héritant de l’objet Binding, vous devez remplacer la méthode CreateBindingElements.When you create a binding by inheriting from Binding, you must override CreateBindingElements.

De plus, vous pouvez définir vos propres éléments de liaison et les insérer entre chacune des couches définies dans le tableau précédent.In addition, you can define your own binding elements and insert them between any of the defined layers in the preceding table. Pour plus d'informations, consultez la classe CustomBinding.For more information, see the CustomBinding class.

Constructeurs

Binding() Binding() Binding() Binding()

Initialise une nouvelle instance de la classe Binding avec un nom et un espace de noms par défaut.Initializes a new instance of the Binding class with a default name and namespace.

Binding(String, String) Binding(String, String) Binding(String, String) Binding(String, String)

Initialise une nouvelle instance de la classe Binding à partir d’une liaison spécifiée du service.Initializes a new instance of the Binding class from a specified binding of the service.

Propriétés

CloseTimeout CloseTimeout CloseTimeout CloseTimeout

Obtient ou définit l'intervalle de temps attribué à une connexion pour qu'elle se ferme avant que le transport lève une exception.Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

MessageVersion MessageVersion MessageVersion MessageVersion

Obtient la version de message utilisée par les clients et les services configurés avec la liaison.Gets the message version used by clients and services configured with the binding.

Name Name Name Name

Obtient ou définit le nom de la liaison.Gets or sets the name of the binding.

Namespace Namespace Namespace Namespace

Obtient ou définit l'espace de noms XML de la liaison.Gets or sets the XML namespace of the binding.

OpenTimeout OpenTimeout OpenTimeout OpenTimeout

Obtient ou définit l'intervalle de temps attribué à une connexion pour qu'elle s'ouvre avant que le transport lève une exception.Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

ReceiveTimeout ReceiveTimeout ReceiveTimeout ReceiveTimeout

Obtient ou définit la durée d’inactivité d’une connexion. Si aucun message d’application n’est reçu pendant ce laps de temps, la connexion est abandonnée.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

Scheme Scheme Scheme Scheme

En cas d'implémentation dans une classe dérivée, définit le modèle URI qui spécifie le transport utilisé par les fabriques de canaux et d'écouteurs générées par les liaisons.When implemented in a derived class, sets the URI scheme that specifies the transport used by the channel and listener factories that are built by the bindings.

SendTimeout SendTimeout SendTimeout SendTimeout

Obtient ou définit l'intervalle de temps attribué à une opération d'écriture pour qu'elle se termine avant que le transport lève une exception.Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

Méthodes

BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection)

Génère la pile de fabriques de canaux sur le client qui crée un type de canal donné et est conforme aux fonctionnalités spécifiées par une collection de paramètres de liaison.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[])

Génère la pile de fabriques de canaux sur le client qui crée un type de canal donné et est conforme aux fonctionnalités spécifiées par un tableau d’objets.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection)

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées par une collection de paramètres de liaison.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[])

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[])

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[])

Génère l’écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retourne une valeur qui indique si la liaison actuelle peut générer sur le client une pile de fabriques de canaux conforme à la collection de paramètres de liaison spécifiée.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[])

Retourne une valeur qui indique si la liaison actuelle peut générer sur le client une pile de fabriques de canaux conforme aux exigences définies par un tableau d’objets.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retourne une valeur qui indique si la liaison actuelle peut générer sur le service une pile d’écouteurs de canal conforme à la collection de paramètres de liaison spécifiée.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[])

Retourne une valeur qui indique si la liaison actuelle peut générer sur le service une pile d’écouteurs de canal conforme aux critères spécifiés dans un tableau d’objets.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

CreateBindingElements() CreateBindingElements() CreateBindingElements() CreateBindingElements()

Dans le cas d'un remplacement au sein d'une classe dérivée, crée une collection qui contient les éléments de liaison qui font partie de la liaison actuelle.When overridden in a derived class, creates a collection that contains the binding elements that are part of the current binding.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection)

Retourne un objet typé demandé (s’il existe) à partir de la couche appropriée dans la pile de liaison.Returns a typed object requested, if present, from the appropriate layer in the binding stack.

GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ShouldSerializeName() ShouldSerializeName() ShouldSerializeName() ShouldSerializeName()

Retourne une valeur indiquant si le nom de la liaison doit être sérialisé.Returns whether the name of the binding should be serialized.

ShouldSerializeNamespace() ShouldSerializeNamespace() ShouldSerializeNamespace() ShouldSerializeNamespace()

Retourne une valeur indiquant si l'espace de noms de la liaison doit être sérialisé.Returns whether the namespace of the binding should be serialized.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à