Partilhar via


ContextBindingElement Classe

Definição

Fornece um nível de proteção e um mecanismo de troca como parte do contexto de um elemento de associação e da funcionalidade para criar os ouvintes e fábricas 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
Herança
ContextBindingElement
Implementações

Comentários

Permite ContextBindingElement que o usuário adicione um elemento à associação de um serviço para gerenciar seu protocolo de troca de contexto. Normalmente ContextBindingElement , ele é empilhado sobre elementos de confiabilidade, segurança e associação de transporte. Um ContextBindingElement não requer nenhuma opção de configuração e pode criar fábricas de canais para IRequestChannel, IRequestSessionChannele IDuplexSessionChannel. Ele também pode criar ouvintes de canal para IReplyChannel, IReplySessionChannele IDuplexSessionChannel. Um canal de contexto não altera a interface do canal– a pilha de canais subjacente deve dar suporte à capacidade de sessão e forma de canal solicitada.

Os ouvintes de canal e as 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 usada com um contrato que especificaNotAllowedSessionMode = , será gerada uma InvalidOperationException 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 SessionModeAllowed ou Required não usar um canal baseado em sessão.

Ao criar uma associação personalizada, é recomendável que você adicione a ContextBindingElementBindingElementCollection associação personalizada antes de adicionar elementos de confiabilidade e associação de segurança, se estiverem presentes. Se você não fizer isso, seu serviço poderá gerar uma ProtocolException mensagem 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. Certifique-se de que o serviço não altere o contexto depois que ele foi originalmente definido ou desabilite o gerenciamento de contexto definindo a propriedade de canal 'IContextManager.Enabled' como false."

Construtores

Nome Description
ContextBindingElement()

Inicializa uma nova instância da classe ContextBindingElement.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

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

ContextBindingElement(ProtectionLevel)

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

Propriedades

Nome Description
ClientCallbackAddress

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

ContextExchangeMechanism

Obtém ou define o mecanismo de troca usado 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 para o elemento de associação do contexto.

Métodos

Nome Description
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 de ouvintes de canal 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 especificado de canal e contexto.

CanBuildChannelListener<TChannel>(BindingContext)

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

Clone()

Cria um novo ContextBindingElement objeto inicializado do atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Grava asserçõ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 digitado com o contexto especificado da camada apropriada na pilha do canal.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a