ContextBindingElement Classe

Définition

Fournit un niveau de protection et un mécanisme d'échange dans le cadre du contexte d'un élément de liaison, ainsi que des fonctionnalités permettant de générer les écouteurs et les fabriques de canal.Provides a protection level and an exchange mechanism as part of the context of a binding element and the functionality to build the channel listeners and factories.

public ref class ContextBindingElement : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Channels::IContextBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public class ContextBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Channels.IContextBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ContextBindingElement = class
    inherit BindingElement
    interface IPolicyExportExtension
    interface IContextBindingElement
Public Class ContextBindingElement
Inherits BindingElement
Implements IContextBindingElement, IPolicyExportExtension
Héritage
ContextBindingElement
Implémente

Remarques

Le ContextBindingElement permet à l’utilisateur d’ajouter un élément à la liaison d’un service afin de gérer son protocole d’échange de contexte.The ContextBindingElement allows the user to add an element to the binding of a service for managing its context exchange protocol. Le ContextBindingElement est généralement empilé par-dessus les éléments de liaison de transport, de fiabilité et de sécurité.The ContextBindingElement is typically stacked on top of reliability, security, and transport binding elements. Un ContextBindingElement ne requiert aucune option de configuration et peut créer des fabriques de canal pour IRequestChannel, IRequestSessionChannel et IDuplexSessionChannel.A ContextBindingElement does not require any configuration options and can create channel factories for IRequestChannel, IRequestSessionChannel, and IDuplexSessionChannel. Il peut également créer des écouteurs de canal pour IReplyChannel, IReplySessionChannel et IDuplexSessionChannel.It can also create channel listeners for IReplyChannel, IReplySessionChannel, and IDuplexSessionChannel. Un canal de contexte ne change pas l’interface de canal: la pile de canaux sous-jacente doit prendre en charge la forme de canal demandée et la fonctionnalité de session.A context channel does not change the channel interface - the underlying channel stack must support the requested channel shape and session capability.

Les écouteurs et les fabriques de canal permettent de construire la partie des piles de canaux qui est utilisée pour traiter les messages entrants et sortants.The channel listeners and factories are used to construct the part of the channel stacks used to process incoming and outgoing messages.

Notes

Si une liaison basée sur session est ContextBindingElement créée avec et utilisée avec un contrat qui spécifie SessionMode = NotAllowed, une InvalidOperationException exception est levée lorsque le canal est créé avec le texte suivant: «La gestion du contexte de canal ne peut pas être activée ou désactivée après l’ouverture du canal.»If a session-based binding is created with a ContextBindingElement and used with a contract that specifies SessionMode = NotAllowed, an InvalidOperationException is thrown when the channel is created with the following text: "Channel context management cannot be enabled or disabled after the channel is opened." Vous devez attribuer à SessionMode la valeur Allowed ou Required, ou ne pas utiliser de canal basé sur une session.You must set SessionMode to Allowed or Required or not use a session-based channel.

Lors de la création d’une liaison personnalisée, il est recommandé d’ajouter le ContextBindingElement au BindingElementCollection de la liaison personnalisée avant d’ajouter des éléments de liaison de fiabilité et de sécurité (le cas échéant).When creating a custom binding, it is recommended that you add the ContextBindingElement to the BindingElementCollection of the custom binding before adding any reliability and security binding elements, if present. Si vous ne le faites pas, votre service peut lever un ProtocolException contenant le message suivant :If you do not, your service may throw a ProtocolException with the following message:

« Le canal de contexte a reçu un message avec un contexte qui ne correspond pas à celui actuellement mis en cache au niveau du canal."Context channel received a message with context which does not match the current context cached at the channel. Assurez-vous que le service ne change pas de contexte après sa définition initiale ou désactivez la gestion de contexte en attribuant la valeur false à la propriété de canal « IContextManager.Enabled ». »Ensure service does not change context after it was originally set or disable context management by setting channel property 'IContextManager.Enabled' to false."

Constructeurs

ContextBindingElement()

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

ContextBindingElement(ProtectionLevel)

Initialise une nouvelle instance de la classe ContextBindingElement disposant d'un niveau de protection spécifié.Initializes a new instance of the ContextBindingElement class with a specified level of protection.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Initialise une nouvelle instance de la classe ContextBindingElement disposant d'un niveau de protection et d'un mécanisme d'échange spécifiés.Initializes a new instance of the ContextBindingElement class with a specified level of protection and exchange mechanism.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Initialise une nouvelle instance de la classe ContextBindingElement disposant d'un niveau de protection, d'un mécanisme d'échange de contexte et d'une adresse de rappel du client spécifiés.Initializes a new instance of the ContextBindingElement class with the specified protection level, context exchange mechanism, and client callback address.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Initialise une nouvelle instance de la classe ContextBindingElement disposant d'un niveau de protection, d'un mécanisme d'échange de contexte et d'une adresse de rappel du client spécifiés, ainsi que d'une valeur qui indique si la gestion du contexte est activée.Initializes a new instance of the ContextBindingElement class with the specified protection level, context exchange mechanism, client callback address, and a value that specifies whether context management is enabled.

Propriétés

ClientCallbackAddress

Obtient ou définit l’adresse de rappel du client pour l’élément de liaison.Gets or sets the client callback address for the binding element.

ContextExchangeMechanism

Obtient ou définit le mécanisme d'échange utilisé pour communiquer le contexte correspondant à l'élément de liaison.Gets or sets the exchange mechanism used to communicate context for the binding element.

ContextManagementEnabled

Obtient ou définit une valeur qui spécifie si la gestion du contexte est activée.Gets or sets a value that specifies whether context management is enabled.

ProtectionLevel

Obtient ou définit le niveau de protection correspondant à l'élément de liaison à partir du contexte.Gets or sets the level of protection for the binding element from the context.

Méthodes

BuildChannelFactory<TChannel>(BindingContext)

Génère la pile de fabrications de canal sur le client effectuant la création d'un type de canaux spécifié pour un contexte spécifié.Builds the channel factory stack on the client that creates a specified type of channel for a specified context.

BuildChannelListener<TChannel>(BindingContext)

Génère la pile d'écouteurs de canal sur le client acceptant un type de canaux spécifié pour un contexte spécifié.Builds the channel listener stack on the client that accepts a specified type of channel for a specified context.

CanBuildChannelFactory<TChannel>(BindingContext)

Renvoie une valeur indiquant si l'élément de liaison en cours peut générer une fabrique pour un type spécifique de contexte et de canal.Returns a value that indicates whether the current binding element can build a factory for a specified type of channel and context.

CanBuildChannelListener<TChannel>(BindingContext)

Renvoie une valeur indiquant si l'élément de liaison en cours peut générer un écouteur pour un type spécifique de contexte et de canal.Returns a value that indicates whether the current binding can build a listener for a specified type of channel and context.

Clone()

Crée un objet ContextBindingElement initialisé à partir de l'objet actuel.Creates a new ContextBindingElement object initialized from the current one.

Equals(Object)

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

(Hérité de Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Écrit des assertions de stratégie personnalisées dans le contexte de l'élément de liaison.Writes custom policy assertions into the context of the binding element.

GetHashCode()

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

(Hérité de Object)
GetProperty<T>(BindingContext)

Retourne l'objet typé contenant le contexte spécifié dans la pile de canaux à partir de la couche appropriée.Returns the typed object with the specified context from the appropriate layer in the channel stack.

GetType()

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

(Hérité de Object)
MemberwiseClone()

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

(Hérité de Object)
ToString()

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

(Hérité de Object)

S’applique à