ContextBindingElement Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |