ContextBindingElement Classe

Definição

Oferece um nível de proteção e um mecanismo de troca como parte do contexto de um elemento de associação, bem como a funcionalidade para criar os ouvintes e as fábricas de canais.

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
Herança
ContextBindingElement
Implementações

Comentários

O ContextBindingElement permite que o usuário adicione um elemento à associação de um serviço para gerenciar seu protocolo de troca de contexto. Normalmente, o ContextBindingElement é empilhado sobre os elementos de confiabilidade, segurança e Associação de transporte. Um não ContextBindingElement requer opções de configuração e pode criar fábricas de canal para IRequestChannel , IRequestSessionChannel e IDuplexSessionChannel . Ele também pode criar ouvintes de canal para IReplyChannel , IReplySessionChannel e IDuplexSessionChannel . Um canal de contexto não altera a interface do canal-a pilha de canais subjacente deve oferecer suporte à forma de canal e à funcionalidade de sessão solicitada.

Os ouvintes de canal e fábricas são usados para construir a parte das pilhas de canal usadas para processar mensagens de entrada e saída.

Observação

Se uma associação baseada em sessão for criada com um ContextBindingElement e usado com um contrato que especifica SessionMode = NotAllowed , um InvalidOperationException será gerado quando o canal for criado com o seguinte texto: "o gerenciamento de contexto de canal não pode ser habilitado ou desabilitado depois que o canal é aberto". Você deve definir SessionMode para Allowed ou Required ou não usar um canal baseado em sessão.

Ao criar uma associação personalizada, é recomendável que você adicione o ContextBindingElement ao BindingElementCollection da associação personalizada antes de adicionar quaisquer elementos de associação de confiabilidade e segurança, se presentes. Se você não fizer isso, o serviço poderá lançar um ProtocolException com a seguinte mensagem:

"O canal de contexto recebeu uma mensagem com contexto que não corresponde ao contexto atual armazenado em cache no canal. Verifique se o serviço não altera o contexto depois que ele foi originalmente definido ou desabilite o gerenciamento de contexto, definindo a propriedade de canal ' IContextManager. Enabled ' como false. "

Construtores

ContextBindingElement()

Inicializa uma nova instância da classe ContextBindingElement.

ContextBindingElement(ProtectionLevel)

Inicializa uma nova instância da classe ContextBindingElement com um nível de proteção especificado.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Inicializa uma nova instância da classe ContextBindingElement com um nível de proteção e um mecanismo de troca especificados.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Inicializa uma nova instância da classe ContextBindingElement com o nível de proteção, o mecanismo de troca de contexto e o endereço de retorno de chamada do cliente especificados.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Inicializa uma nova instância da classe ContextBindingElement com o nível de proteção, o mecanismo de troca de contexto, o endereço de retorno de chamada do cliente especificados e um valor de especifica se o gerenciamento de contexto está habilitado.

Propriedades

ClientCallbackAddress

Obtém ou define o endereço de retorno de chamada do cliente do elemento de associação.

ContextExchangeMechanism

Obtém ou define o mecanismo de troca utilizado para comunicar o contexto do elemento de associação.

ContextManagementEnabled

Obtém ou define um valor que especifica se o gerenciamento de contexto está habilitado.

ProtectionLevel

Obtém ou define o nível de proteção do elemento de associação do contexto.

Métodos

BuildChannelFactory<TChannel>(BindingContext)

Cria a pilha de fábrica de canais no cliente que cria um tipo de canal especificado para um contexto especificado.

BuildChannelListener<TChannel>(BindingContext)

Cria a pilha do ouvinte de canais no cliente que aceita um tipo de canal especificado para um contexto especificado.

CanBuildChannelFactory<TChannel>(BindingContext)

Retorna um valor que indica se o elemento de associação atual pode criar uma fábrica para um tipo de canal e contexto especificados.

CanBuildChannelListener<TChannel>(BindingContext)

Retorna um valor que indica se a associação atual pode criar um ouvinte para um tipo de canal e contexto especificados.

Clone()

Cria um novo objeto ContextBindingElement inicializado do atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Grava declarações de política personalizadas no contexto do elemento de associação.

GetHashCode()

Serve como a função de hash padrão.

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

Retorna o objeto tipado com o contexto especificado da camada apropriada na pilha de canais.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a