ContextBindingElement Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |