IContextManager.Enabled Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 uneInvalidOperationException
.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 valeurnull
.
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 |