IContextManager.Enabled Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
ContextMessagePropertyi ett utgående meddelande genererarInvalidOperationException.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.På
ContextMessagePropertyett inkommande meddelande är alltidnull.
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 |