ContextBindingElement Classe

Definizione

Fornisce un livello di protezione e un meccanismo di scambio come parte del contesto di un elemento di associazione e la funzionalità per compilare i listener del canale e le channel factory.

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
Ereditarietà
ContextBindingElement
Implementazioni

Commenti

ContextBindingElement consente all'utente di aggiungere un elemento all'associazione di un servizio per la gestione del protocollo di scambio del contesto. ContextBindingElement è in genere basata su elementi di associazione di affidabilità, di sicurezza e di trasporto. ContextBindingElement non richiede opzioni di configurazione e può creare channel factory per IRequestChannel, IRequestSessionChannele IDuplexSessionChannel. Può inoltre creare listener del canale per IReplyChannel, IReplySessionChannel e IDuplexSessionChannel. Un canale di contesto non modifica l'interfaccia del canale. Lo stack di canali sottostante deve supportare la forma del canale richiesta e la funzionalità di sessione.

I listener del canale e le channel factory vengono utilizzati per costruire la parte degli stack dei canali utilizzata per elaborare i messaggi in ingresso e in uscita.

Nota

Se un'associazione basata su sessione viene creata con un oggetto e utilizzata con un contratto che specifica , viene generata un'eccezione quando il canale viene creato con il testo seguente: "La gestione del contesto del canale non può essere abilitata o disabilitata dopo l'apertura del ContextBindingElement SessionMode = NotAllowed InvalidOperationException canale". È necessario impostare SessionMode su Allowed o su Required oppure non utilizzare un canale basato sulla sessione.

Quando si crea un'associazione personalizzata, è consigliabile aggiungere ContextBindingElement alla classe BindingElementCollection dell'associazione personalizzata prima di aggiungere elementi di associazione di sicurezza e di affidabilità. In caso contrario, il servizio può generare una classe ProtocolException con il messaggio seguente:

"Il canale del contesto ha ricevuto un messaggio con contesto che non corrisponde al contesto corrente memorizzato nella cache sul canale. Assicurarsi che il servizio non modifichi il contesto dopo l'impostazione iniziale o disabiliti la gestione del contesto impostando la proprietà del canale 'IContextManager.Enabled' su falso."

Costruttori

ContextBindingElement()

Inizializza una nuova istanza della classe ContextBindingElement.

ContextBindingElement(ProtectionLevel)

Inizializza una nuova istanza della classe ContextBindingElement con un livello di protezione specificato.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Inizializza una nuova istanza della classe ContextBindingElement con un livello di protezione e un meccanismo di scambio specificati.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Inizializza una nuova istanza della classe ContextBindingElement con il livello di protezione, meccanismo di scambio del contesto e indirizzo di callback del client specificati.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Inizializza una nuova istanza della classe ContextBindingElement con specificati il livello di protezione, meccanismo di scambio del contesto, indirizzo di callback del client e un valore che specifica se la gestione del contesto è abilitata.

Proprietà

ClientCallbackAddress

Ottiene o imposta l'indirizzo di callback del client per l'elemento di associazione.

ContextExchangeMechanism

Ottiene o imposta il meccanismo di scambio utilizzato per comunicare contesto per l'elemento di associazione.

ContextManagementEnabled

Ottiene o imposta un valore che specifica se la gestione del contesto è abilitata.

ProtectionLevel

Ottiene o imposta il livello di protezione per l'elemento di associazione dal contesto.

Metodi

BuildChannelFactory<TChannel>(BindingContext)

Compila lo stack della channel factory nel client che crea un tipo di canale specificato per un contesto specificato.

BuildChannelListener<TChannel>(BindingContext)

Compila lo stack del listener del canale nel client che accetta un tipo di canale specificato per un contesto specificato.

CanBuildChannelFactory<TChannel>(BindingContext)

Restituisce un valore che indica se l'elemento di associazione corrente può compilare una factory per un tipo di canale e di contesto specificati.

CanBuildChannelListener<TChannel>(BindingContext)

Restituisce un valore che indica se l'associazione corrente può compilare un listener per un tipo di canale e di contesto specificati.

Clone()

Crea un nuovo oggetto ContextBindingElement inizializzato da quello corrente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Scrive asserzioni di criteri personalizzate nel contesto dell'elemento di associazione.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperty<T>(BindingContext)

Restituisce l'oggetto tipizzato con il contesto specificato dal livello appropriato nello stack dei canali.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a