IContextManager.Enabled Propriété

Définition

Obtient ou définit une valeur indiquant si la gestion du contexte est activée.

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

Valeur de propriété

true si le contexte est activé ; sinon false.

Remarques

Lorsque la gestion du contexte est activée, le canal de contexte met en cache le contexte dans sa durée de vie. Le contexte peut être récupéré à partir du canal par le biais de la propriété de canal IContextManager en appelant la méthode GetContext. Le canal peut également être pré-initialisé avec un contexte spécifique avant d'être ouvert en appelant la méthode SetContext sur la propriété de canal. Une fois le canal initialisé avec le contexte, celui-ci ne peut pas être réinitialisé.

Les éléments suivants sont des invariants dans ce mode :

  • Tout appel à SetContext après que le canal ait été ouvert lève une InvalidOperationException.

  • Toute tentative d'envoi du contexte par le biais du ContextMessageProperty dans un message sortant lève une InvalidOperationException.

  • Si un message est reçu du serveur avec un contexte, lorsque le canal est déjà initialisé avec un contexte, cela lève une ProtocolException. Notez que vous pouvez recevoir le contexte initial d'un serveur si le canal est ouvert sans définir le contexte explicitement.

  • Le ContextMessageProperty sur un message entrant a toujours la valeur null.

Lorsque la gestion du contexte n'est pas activée, le canal de contexte ne gère pas le contexte. C'est la responsabilité de l'application de récupérer, de gérer et d'appliquer le contexte par le biais de ContextMessageProperty. Toute tentative d'appeler GetContext ou SetContext à l'aide de la propriété de canal IContextManager provoque une InvalidOperationException.

Tous les cookies HTTP, à l'exception des cookies HTTP de contexte, sont gérés au niveau du canal. Les cookies HTTP de contexte sont gérés au niveau de l'application. Ceci peut avoir des conséquences inattendues lorsque les canaux sont partagés pour communiquer avec différentes instances ciblées par ContextMessageProperty. Le tableau suivant illustre l'affectation des cookies HTTP lorsque Enabled a la valeur true ou false.

Liaison Valeur IContextManager.Enabled Étendue des cookies HTTP de contexte Étendue des autres cookies HTTP
BasicHttpBinding n/a ChannelFactory ChannelFactory
BasicHttpContextBinding true Canal Canal
BasicHttpContextBinding false Pour chaque message (géré par application de manière explicite) Canal

S’applique à