Compartilhar via


IContextManager.Enabled Propriedade

Definição

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

public:
 property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
Public Property Enabled As Boolean

Valor da propriedade

true se o contexto estiver habilitado; caso contrário, false.

Comentários

Quando o gerenciamento de contexto é habilitado, o canal de contexto armazena em cache o contexto em seu tempo de vida. O contexto pode ser recuperado do canal por meio da propriedade do IContextManager canal chamando GetContext o método nele. O canal também pode ser pré-inicializado com contexto antes de ser aberto chamando o SetContext método na propriedade do canal. Depois que o canal é inicializado com o contexto, ele não pode ser redefinido.

Veja a seguir invariáveis neste modo:

  • Qualquer chamada para SetContext depois que o canal é aberto lança um InvalidOperationException.

  • Qualquer tentativa de enviar contexto por meio de ContextMessageProperty uma mensagem de saída é gerada InvalidOperationException.

  • Se uma mensagem for recebida do servidor com contexto, quando o canal já estiver inicializado com um contexto, será ProtocolException gerado. Observe que você pode receber o contexto inicial de um servidor se o canal for aberto sem definir explicitamente o contexto.

  • A ContextMessageProperty mensagem de entrada é sempre null.

Quando o gerenciamento de contexto não está habilitado, o canal de contexto não gerencia o contexto. É responsabilidade do aplicativo recuperar, gerenciar e aplicar o contexto por meio do ContextMessageProperty. Qualquer tentativa de chamar GetContext ou SetContext usar por meio da propriedade do IContextManager canal resulta em InvalidOperationException.

Todos os cookies HTTP, exceto os cookies HTTP de contexto, são manipulados no nível do canal. Os cookies HTTP de contexto são gerenciados no nível do aplicativo. Isso pode ter consequências inesperadas quando os canais são compartilhados para conversar com instâncias diferentes direcionadas por ContextMessageProperty. A tabela a seguir mostra como os cookies HTTP são afetados quando Enabled definidos como ou truefalse.

Binding Valor IContextManager.Enabled Escopo de cookie HTTP de contexto Outro escopo de cookies HTTP
BasicHttpBinding n/a Channelfactory Channelfactory
BasicHttpContextBinding verdadeiro Canal Canal
BasicHttpContextBinding falso Para cada mensagem (gerenciada explicitamente pelo aplicativo) Canal

Aplica-se a