Partager via


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.

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. Le ContextBindingElement est généralement empilé par-dessus les éléments de liaison de transport, de fiabilité et de sécurité. Un ContextBindingElement ne requiert aucune option de configuration et peut créer des fabriques de canal pour IRequestChannel, IRequestSessionChannel et IDuplexSessionChannel. Il peut également créer des écouteurs de canal pour IReplyChannel, IReplySessionChannel et IDuplexSessionChannel. Un canal de contexte ne modifie pas l’interface de canal : la pile de canaux sous-jacente doit prendre en charge la forme de canal et la fonctionnalité de session demandées.

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.

Notes

Si une liaison basée sur une session est créée avec un ContextBindingElement et utilisée avec un contrat qui spécifie SessionMode = NotAllowed, une InvalidOperationException 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 ». Vous devez définir SessionMode sur Allowed ou Required non utiliser un canal basé sur une session.

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). Si vous ne le faites pas, votre service peut lever un ProtocolException contenant le message suivant :

« 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. 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 ». »

Constructeurs

ContextBindingElement()

Initialise une nouvelle instance de la classe ContextBindingElement.

ContextBindingElement(ProtectionLevel)

Initialise une nouvelle instance de la classe ContextBindingElement disposant d'un niveau de protection spécifié.

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.

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.

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.

Propriétés

ClientCallbackAddress

Obtient ou définit l’adresse de rappel du client pour l’élément de liaison.

ContextExchangeMechanism

Obtient ou définit le mécanisme d'échange utilisé pour communiquer le contexte correspondant à l'élément de liaison.

ContextManagementEnabled

Obtient ou définit une valeur qui spécifie si la gestion du contexte est activée.

ProtectionLevel

Obtient ou définit le niveau de protection correspondant à l'élément de liaison à partir du contexte.

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é.

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é.

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.

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.

Clone()

Crée un objet ContextBindingElement initialisé à partir de l'objet actuel.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

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

Écrit des assertions de stratégie personnalisées dans le contexte de l'élément de liaison.

GetHashCode()

Fait office de fonction de hachage par défaut.

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

Renvoie l'objet typé contenant le contexte spécifié dans la pile de canaux à partir de la couche appropriée.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à