Comparteix a través de


ContextBindingElement Clase

Definición

Proporciona un nivel de protección y un mecanismo de intercambio como parte del contexto de un elemento de enlace, y la funcionalidad para compilar los agentes de escucha y los generadores del 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
Herencia
ContextBindingElement
Implementaciones

Comentarios

ContextBindingElement permite al usuario agregar un elemento al enlace de un servicio para administrar su protocolo de intercambio de contexto. ContextBindingElement, normalmente, se apila encima de los elementos de enlace de confianza, seguridad y transporte. ContextBindingElement no requiere ninguna opción de configuración, y puede crear los generadores de canales para IRequestChannel, IRequestSessionChannely IDuplexSessionChannel. Además, puede crear agentes de escucha del canal para las interfaces IReplyChannel, IReplySessionChannel e IDuplexSessionChannel. Un canal de contexto no cambia la interfaz de canal: la pila de canales subyacente debe admitir la forma de canal solicitada y la funcionalidad de sesión.

Los agentes de escucha y los generadores del canal se utilizan para construir la parte de las pilas del canal usadas en el procesamiento de mensajes entrantes y salientes.

Nota

Si se crea un enlace basado en sesión con ContextBindingElement un y se usa con un contrato que especifica SessionMode = NotAllowed, se produce una InvalidOperationException excepción cuando se crea el canal con el texto siguiente: "La administración del contexto del canal no se puede habilitar ni deshabilitar después de abrir el canal". Debe establecer SessionModeAllowed en o Required no usar un canal basado en sesión.

Al crear un enlace personalizado, se recomienda que agregue el ContextBindingElement a la BindingElementCollection del enlace personalizado antes de agregar cualquier elemento de enlace de confianza y seguridad, en caso de existir alguno. De no hacerlo, su servicio puede iniciar una ProtocolException con el mensaje siguiente:

“El canal de contexto recibió un mensaje con contexto que no coincide con el contexto actual almacenado en la caché del canal. Asegúrese de que el servicio no cambia el contexto establecido originalmente, o deshabilita la administración del contexto estableciendo la propiedad de canal 'IContextManager.Enabled' en false”.

Constructores

ContextBindingElement()

Inicializa una nueva instancia de la clase ContextBindingElement.

ContextBindingElement(ProtectionLevel)

Inicializa una nueva instancia de la clase ContextBindingElement con un nivel de protección específico.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Inicializa una nueva instancia de la clase ContextBindingElement con un nivel de protección y un mecanismo de intercambio especificados.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Inicializa una nueva instancia de la clase ContextBindingElement con el nivel de protección, el mecanismo de intercambio de contexto y la dirección de devolución de llamada del cliente especificados.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Inicializa una nueva instancia de la clase ContextBindingElement con el nivel de protección, el mecanismo de intercambio de contexto y la dirección de devolución de llamada del cliente especificados, y un valor que especifica si está habilitada la administración del contexto.

Propiedades

ClientCallbackAddress

Obtiene o establece la dirección de devolución de llamada del cliente del elemento de enlace.

ContextExchangeMechanism

Obtiene o establece el mecanismo de intercambio utilizado por el elemento de enlace para comunicar contexto.

ContextManagementEnabled

Obtiene o establece un valor que especifica si está habilitada la administración de contexto.

ProtectionLevel

Obtiene o establece el nivel de protección del elemento de enlace a partir del contexto.

Métodos

BuildChannelFactory<TChannel>(BindingContext)

Crea la pila del generador de canales en el cliente que crea un tipo específico de canal, para un contexto determinado.

BuildChannelListener<TChannel>(BindingContext)

Crea la pila del agente de escucha del canal en el cliente que acepta un tipo específico de canal, para un contexto determinado.

CanBuildChannelFactory<TChannel>(BindingContext)

Devuelve un valor que indica si el elemento de enlace actual puede compilar un generador para un tipo de canal y un contexto especificados.

CanBuildChannelListener<TChannel>(BindingContext)

Devuelve un valor que indica si el enlace actual puede crear un agente de escucha para un tipo de canal y un contexto específicos.

Clone()

Crea un nuevo objeto ContextBindingElement inicializado a partir del actual.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Escribe aserciones de directiva personalizadas en el contexto del elemento de enlace.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetProperty<T>(BindingContext)

Devuelve el objeto con tipo con el contexto especificado, desde la capa adecuada de la pila del canal.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a