IContextManager.Enabled Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het contextbeheer is ingeschakeld.

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

Waarde van eigenschap

true als de context is ingeschakeld; anders, false.

Opmerkingen

Wanneer contextbeheer is ingeschakeld, slaat het contextkanaal de context gedurende de levensduur in de cache op. Context kan worden opgehaald uit het kanaal via de IContextManager kanaaleigenschap door er een methode op aan te roepen GetContext . Het kanaal kan ook vooraf worden geïnitialiseerd met context voordat het wordt geopend door de SetContext methode op de kanaaleigenschap aan te roepen. Zodra het kanaal is geïnitialiseerd met context, kan het niet opnieuw worden ingesteld.

Dit zijn invarianten in deze modus:

  • Elke oproep naar SetContext nadat het kanaal is geopend, genereert een InvalidOperationException.

  • Elke poging om context te verzenden via het ContextMessageProperty in een uitgaand bericht genereert InvalidOperationException.

  • Als er een bericht van de server met context wordt ontvangen, wordt er een bericht gegenereerd wanneer het kanaal al is geïnitialiseerd met een context ProtocolException . Houd er rekening mee dat u de eerste context van een server kunt ontvangen als het kanaal wordt geopend zonder expliciet de context in te stellen.

  • Het ContextMessageProperty inkomende bericht is altijd null.

Wanneer contextbeheer niet is ingeschakeld, beheert het contextkanaal geen context. Het is de verantwoordelijkheid van de toepassing om context op te halen, te beheren en toe te passen via de ContextMessageProperty. Elke poging om aan te roepen GetContext of SetContext te gebruiken via de IContextManager kanaaleigenschap resulteert in InvalidOperationException.

Alle HTTP-cookies, met uitzondering van context-HTTP-cookies, worden verwerkt op kanaalniveau. Context-HTTP-cookies worden beheerd op toepassingsniveau. Dit kan onverwachte gevolgen hebben wanneer kanalen worden gedeeld om te communiceren met verschillende instanties waarop is gericht ContextMessageProperty. In de volgende tabel ziet u hoe HTTP-cookies worden beïnvloed wanneer Enabled deze is ingesteld op of truefalse.

Binding Waarde IContextManager.Enabled Context HTTP-cookiebereik Ander HTTP-cookiesbereik
BasicHttpBinding n/a ChannelFactory ChannelFactory
BasicHttpContextBinding waar Kanaal Kanaal
BasicHttpContextBinding false Voor elk bericht (expliciet beheerd door toepassing) Kanaal

Van toepassing op