Compartir a través de


IContextManager.Enabled Propiedad

Definición

Obtiene o establece un valor que indica si se ha habilitado la administración de contexto.

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 de propiedad

true si el contexto está habilitado; en caso contrario, devuelve el valor false.

Comentarios

Cuando la administración de contexto está habilitada, el canal del contexto almacena en memoria caché el contexto a lo largo de su duración. El contexto se puede recuperar desde el canal mediante la propiedad de canal IContextManager llamando al método GetContext. El canal también se puede preinicializar con contexto antes de abrirse llamando al método SetContext en la propiedad de canal. Una vez inicializado el canal con contexto no se puede restablecer.

A continuación, se muestra una lista de invariables en este modo:

  • Cualquier llamada a SetContext después de que el canal se ha abierto inicia una InvalidOperationException.

  • Cualquier intento de enviar el contexto a través de la ContextMessageProperty en un mensaje saliente inicia una InvalidOperationException.

  • Si un mensaje se recibe del servidor con contexto, cuando el canal ya se ha inicializado con un contexto, se produce una ProtocolException. Observe que puede recibir el contexto inicial de un servidor si el canal se abre sin establecer el contexto explícitamente.

  • ContextMessageProperty en un mensaje entrante siempre es null.

Cuando la administración del contexto no está habilitada, el canal del contexto no administra el contexto. Es responsabilidad de la aplicación el recuperar, administrar y aplicar el contexto mediante la ContextMessageProperty. Cualquier intento para llamar a GetContext o SetContext a través de los resultados de la propiedad de canal IContextManager tiene como resultado InvalidOperationException.

Todas las cookies HTTP, salvo las cookies HTTP de contexto, se controlan en el nivel de canal. Las cookies HTTP del contexto se administran en el nivel de aplicación. Esto puede tener consecuencias inesperadas cuando se comparten los canales para hablar con distintas instancias de destino de ContextMessageProperty. La siguiente tabla muestra cómo se ven afectadas las cookies HTTP cuando Enabled está establecido en true o false.

Enlace Valor IContextManager.Enabled Ámbito de cookie HTTP de contexto Otro ámbito de cookies HTTP
BasicHttpBinding N/D ChannelFactory ChannelFactory
BasicHttpContextBinding true Canal Canal
BasicHttpContextBinding false Para cada mensaje (explícitamente administrado por la aplicación) Canal

Se aplica a