Sdílet prostřednictvím


IContextManager.Enabled Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda je povolena správa kontextu.

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

Hodnota vlastnosti

truepokud je kontext povolen; v opačném případě . false

Poznámky

Když je povolena správa kontextu, kontextový kanál ukládá kontext do mezipaměti kontext po celou dobu jeho života. Kontext lze načíst z kanálu prostřednictvím IContextManager vlastnosti kanálu voláním GetContext metody na kanálu. Kanál lze také před otevřením předem inicializovat s kontextem zavoláním SetContext metody u vlastnosti kanálu. Jakmile je kanál inicializován s kontextem, nelze ho resetovat.

V tomto režimu jsou invarianty následující:

  • Jakékoli volání SetContext po otevření kanálu vyvolá .InvalidOperationException

  • Jakýkoli pokus o odeslání kontextu prostřednictvím ContextMessageProperty v odchozí zprávě vyvolá InvalidOperationException.

  • Pokud je ze serveru přijata zpráva s kontextem, pokud je kanál již inicializován s kontextem ProtocolException , vyvolá se zpráva . Všimněte si, že pokud je kanál otevřený bez explicitního nastavení kontextu, můžete ze serveru přijmout počáteční kontext.

  • U ContextMessageProperty příchozí zprávy je vždy nullhodnota .

Pokud není povolena správa kontextu, kontextový kanál nespravuje kontext. Za načtení, správu a použití kontextu prostřednictvím ContextMessagePropertyaplikace zodpovídá aplikace . Jakýkoli pokus o volání GetContext nebo SetContext použití prostřednictvím IContextManager vlastnosti kanálu má za následek InvalidOperationException.

Všechny soubory cookie HTTP, s výjimkou kontextových souborů HTTP cookie, se zpracovávají na úrovni kanálu. Kontextové soubory cookie HTTP se spravují na úrovni aplikace. To může mít neočekávané důsledky, když se kanály sdílejí, aby komunikovaly s různými instancemi, na které cílí ContextMessageProperty. Následující tabulka ukazuje, jak jsou ovlivněny soubory cookie HTTP, pokud Enabled je nastavena hodnota nebo truefalse.

Vazba IContextManager.Enabled – hodnota Kontextový rozsah souborů cookie HTTP Rozsah jiných souborů cookie HTTP
ZákladníhttpBinding Není k dispozici Channelfactory Channelfactory
BasicHttpContextBinding true Kanál Kanál
BasicHttpContextBinding false (nepravda) Pro každou zprávu (explicitně spravovanou aplikací) Kanál

Platí pro