CustomBinding CustomBinding CustomBinding CustomBinding Class

Définition

Définit une liaison dans une liste d'éléments de liaison.Defines a binding from a list of binding elements.

public ref class CustomBinding : System::ServiceModel::Channels::Binding
[System.Windows.Markup.ContentProperty("Elements")]
public class CustomBinding : System.ServiceModel.Channels.Binding
type CustomBinding = class
    inherit Binding
Public Class CustomBinding
Inherits Binding
Héritage
CustomBindingCustomBindingCustomBindingCustomBinding
Attributs

Exemples

L'exemple suivant illustre la manière de créer un objet CustomBinding à l'aide d'un ReliableSessionBindingElement et d'un HttpTransportBindingElementThe following example shows how to create a CustomBinding object using a ReliableSessionBindingElement and an HttpTransportBindingElement

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

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    // Create a custom binding that contains two binding elements.
    ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
    reliableSession.Ordered = true;

    HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
    httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
    httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

    CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

    // Add an endpoint using that binding.
    serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

    // Add a MEX endpoint.
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
    serviceHost.Description.Behaviors.Add(smb);
  
    // 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();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")

' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
	' Create a custom binding that contains two binding elements.
	Dim reliableSession As New ReliableSessionBindingElement()
	reliableSession.Ordered = True

	Dim httpTransport As New HttpTransportBindingElement()
	httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
	httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard

	Dim binding As New CustomBinding(reliableSession, httpTransport)

	' Add an endpoint using that binding.
	serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")

	' Add a MEX endpoint.
	Dim smb As New ServiceMetadataBehavior()
	smb.HttpGetEnabled = True
	smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
	serviceHost.Description.Behaviors.Add(smb)

	' 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()
End Using

Remarques

Utilisez une liaison personnalisée lorsque l’une des liaisons fournies par le système ne répond pas aux exigences de votre service.Use a custom binding when one of the system-provided bindings does not meet the requirements of your service. Une liaison personnalisée peut être utilisée, par exemple, pour activer l’utilisation d’un nouveau transport ou d’un nouvel encodeur à un point de terminaison de service.A custom binding could be used, for example, to enable the use of a new transport or a new encoder at a service endpoint.

Une liaison personnalisée est construite à l'aide d'une collection CustomBinding d'éléments de liaison « empilés » dans un ordre spécifique :A custom binding is constructed using one of the CustomBinding from a collection of binding elements that are "stacked" in a specific order:

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, canaux nommés, HTTP, HTTPS, versions de MSMQ, personnaliséTCP, Named Pipes, HTTP, HTTPS, flavors of MSMQ, Custom OuiYes

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.In addition, you can define your own binding elements and insert them between any of the preceding defined layers.

Pour une discussion sur l’utilisation d’une liaison personnalisée afin de modifier une liaison fournie par le système, consultez Comment : Personnaliser une liaison fournie par le système.For a discussion on how to use a custom binding to modify a system-provided binding, see How to: Customize a System-Provided Binding.

Notes

Lors de l’appel d’un service WCF génération avec .NET Framework 4.0 ou version ultérieure à partir d’une application de client WCF créée avec .NET Framework 3.5.NET Framework 3.5 ou versions antérieures, le fichier de configuration généré par svcutil.exe ou l’ajout d’une référence de service à partir de Visual Studio contiendra la validité attribut dans la configuration de liaison.When calling a WCF service built with .NET Framework 4.0 or later from a WCF client application built with .NET Framework 3.5.NET Framework 3.5 or earlier, the configuration file generated by svcutil.exe or adding a service reference from Visual Studio will contain the validity attribute in the binding configuration. Cet attribut n'est pas reconnu par l'exécution de .NET Framework 3.5.NET Framework 3.5 et l'application lève une exception ConfigurationErrorsException avec un message stipulant que la validité de l'attribut n'est pas reconnue.This attribute is not recognized by the .NET Framework 3.5.NET Framework 3.5 runtime and the application will thrown an ConfigurationErrorsException with the message "Unrecognized attribute validity". Pour résoudre ce problème, supprimez l'attribut de validité de la configuration de liaison.To workaround this problem, remove the validity attribute from the binding configuration.

Constructeurs

CustomBinding() CustomBinding() CustomBinding() CustomBinding()

Initialise une nouvelle instance de la classe CustomBinding.Initializes a new instance of the CustomBinding class.

CustomBinding(Binding) CustomBinding(Binding) CustomBinding(Binding) CustomBinding(Binding)

Initialise une nouvelle instance de la classe CustomBinding à partir des valeurs d'une liaison spécifiée.Initializes a new instance of the CustomBinding class from the values of a specified binding.

CustomBinding(BindingElement[]) CustomBinding(BindingElement[]) CustomBinding(BindingElement[]) CustomBinding(BindingElement[])

Initialise une nouvelle instance de la classe CustomBinding à partir d'un tableau d'éléments de liaison.Initializes a new instance of the CustomBinding class from an array of binding elements.

CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>)

Initialise une nouvelle instance de la classe CustomBinding avec les éléments de liaison d'une pile de canaux complète.Initializes a new instance of the CustomBinding class with the binding elements from a complete channel stack.

CustomBinding(String) CustomBinding(String) CustomBinding(String) CustomBinding(String)

Initialise une nouvelle instance de la classe CustomBinding.Initializes a new instance of the CustomBinding class.

CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[])

Initialise une nouvelle instance de la classe CustomBinding à partir d'un tableau d'éléments de liaison avec un nom et un espace de noms spécifiés.Initializes a new instance of the CustomBinding class from an array of binding elements with a specified name and namespace.

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.

(Inherited from Binding)
Elements Elements Elements Elements

Obtient les éléments de liaison de la liaison personnalisée.Gets the binding elements from the custom binding.

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.

(Inherited from Binding)
Name Name Name Name

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

(Inherited from 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.

(Inherited from 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.

(Inherited from Binding)
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.

(Inherited from Binding)
Scheme Scheme Scheme Scheme

Reçoit le schéma d'URI pour le transport utilisé par la liaison personnalisée.Gets the URI scheme for transport used by the custom binding.

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.

(Inherited from Binding)

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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
CreateBindingElements() CreateBindingElements() CreateBindingElements() CreateBindingElements()

Retourne une collection générique des éléments de liaison de la liaison personnalisée.Returns a generic collection of the binding elements from the custom 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.

(Inherited from Binding)
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.

(Inherited from Binding)
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.

(Inherited from Binding)
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 à