IContextManager.Enabled Egenskap

Definition

Hämtar eller anger ett värde som anger om kontexthantering är aktiverat.

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

Egenskapsvärde

trueom kontexten är aktiverad; annars . false

Kommentarer

När kontexthantering är aktiverat cachelagrar kontextkanalen kontexten under dess livslängd. Kontext kan hämtas från kanalen via kanalegenskapen IContextManager genom att anropa GetContext metoden på den. Kanalen kan också initieras i förväg med kontext innan den SetContext öppnas genom att anropa metoden på kanalegenskapen. När kanalen har initierats med kontext kan den inte återställas.

Följande är invarianter i det här läget:

  • Alla anrop till SetContext när kanalen är öppen genererar ett InvalidOperationException.

  • Alla försök att skicka kontext via ContextMessageProperty i ett utgående meddelande genererar InvalidOperationException.

  • Om ett meddelande tas emot från servern med kontext, när kanalen redan har initierats med en kontext genereras ett ProtocolException . Observera att du kan ta emot den inledande kontexten från en server om kanalen öppnas utan att uttryckligen ange kontexten.

  • ContextMessageProperty ett inkommande meddelande är alltid null.

När kontexthantering inte är aktiverat hanterar kontextkanalen inte kontexten. Det är programmets ansvar att hämta, hantera och tillämpa kontexten ContextMessagePropertyvia . Alla försök att anropa GetContext eller SetContext använda via kanalegenskapen IContextManager resulterar i InvalidOperationException.

Alla HTTP-cookies, förutom KONTEXT-HTTP-cookies, hanteras på kanalnivå. HTTP-kontextcookies hanteras på programnivå. Detta kan få oväntade konsekvenser när kanaler delas för att kommunicera med olika instanser som är mål för ContextMessageProperty. I följande tabell visas hur HTTP-cookies påverkas när Enabled är inställt på antingen true eller false.

Binding IContextManager.Enabled-värde Omfång för HTTP-cookie för kontext Omfång för andra HTTP-cookies
BasicHttpBinding n/a Channelfactory Channelfactory
BasicHttpContextBinding sann Channel Channel
BasicHttpContextBinding false För varje meddelande (hanteras uttryckligen av program) Channel

Gäller för