ContextBindingElement Classe

Definição

Fornece um nível de proteção e um mecanismo de troca como parte do contexto de um elemento de ligação e a funcionalidade para construir os ouvintes e fábricas do 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

Observações

Permite ContextBindingElement ao utilizador adicionar um elemento à ligação de um serviço para gerir o seu protocolo de troca de contexto. O ContextBindingElement sistema é normalmente empilhado sobre elementos de fiabilidade, segurança e ligação de transporte. A ContextBindingElement não requer quaisquer opções de configuração e pode criar fábricas de canais para IRequestChannel, IRequestSessionChannel, e IDuplexSessionChannel. 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 canal subjacente deve suportar a forma do canal solicitada e a capacidade da sessão.

Os ouvintes e fábricas de canais são usados para construir a parte das pilhas de canais usada para processar mensagens recebidas e enviadas.

Note

Se for criada uma ligação baseada em sessão com a ContextBindingElement e usada com um contrato que especificaNotAllowedSessionMode = , an InvalidOperationException é lançada quando o canal é criado com o seguinte texto: "A gestão de contexto do canal não pode ser ativada ou desativada após a abertura do canal." Deve definir SessionMode ou AllowedRequired não usar um canal baseado em sessões.

Ao criar uma ligação personalizada, recomenda-se que adicione o ContextBindingElement à BindingElementCollection da ligação personalizada antes de adicionar quaisquer elementos de ligação de fiabilidade e segurança, se estiverem presentes. Se não o fizer, o seu serviço pode enviar ProtocolException uma mensagem com a seguinte mensagem:

"O canal de contexto recebeu uma mensagem com contexto que não corresponde ao contexto atual armazenado no canal. Garantir que o serviço não altera o contexto depois de ter sido originalmente definido ou desativar a gestão de contexto definindo a propriedade do canal 'IContextManager.Enabled' como falsa."

Construtores

Name Description
ContextBindingElement()

Inicializa uma nova instância da ContextBindingElement classe.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

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

ContextBindingElement(ProtectionLevel)

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

Propriedades

Name Description
ClientCallbackAddress

Obtém ou define o endereço de callback do cliente para o elemento de ligação.

ContextExchangeMechanism

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

ContextManagementEnabled

Recebe ou define um valor que especifica se a gestão de contexto está ativada.

ProtectionLevel

Obtém ou define o nível de proteção do elemento de ligação em relação ao contexto.

Métodos

Name Description
BuildChannelFactory<TChannel>(BindingContext)

Constrói a stack de channel factory no cliente que cria um tipo específico de canal para um contexto específico.

BuildChannelListener<TChannel>(BindingContext)

Constrói a pilha de ouvintes de canais no cliente que aceita um tipo específico de canal para um contexto específico.

CanBuildChannelFactory<TChannel>(BindingContext)

Devolve um valor que indica se o elemento de ligação atual pode construir uma fábrica para um tipo específico de canal e contexto.

CanBuildChannelListener<TChannel>(BindingContext)

Devolve um valor que indica se a ligação de corrente pode construir um ouvinte para um tipo específico de canal e contexto.

Clone()

Cria um novo ContextBindingElement objeto inicializado a partir do atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Escreve asserções de política personalizadas no contexto do elemento de ligação.

GetHashCode()

Serve como função de hash predefinida.

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

Devolve 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 atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a