IContextManager.Enabled Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 unaInvalidOperationException
.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 esnull
.
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 |