IContextManager.Enabled Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se la gestione del contesto è abilitata.
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
Valore della proprietà
È true
se il contesto è abilitato. In caso contrario è false
.
Commenti
Quando la gestione del contesto è abilitata, il canale del contesto memorizza nella cache il contesto all'interno della durata corrispondente. Il contesto può essere recuperato dal canale tramite la proprietà del canale IContextManager
chiamando il metodo GetContext su di essa. Il canale può inoltre essere preinizializzato con un contesto specifico prima di venire aperto chiamando il metodo SetContext sulla proprietà del canale. Dopo essere stato inizializzato con il contesto, il canale non può essere reimpostato.
Di seguito vengono illustrate le invarianti in questa modalità:
Qualsiasi chiamata a SetContext dopo l'apertura del canale genera un'eccezione
InvalidOperationException
.Qualsiasi tentativo di inviare il contesto tramite
ContextMessageProperty
in un messaggio in uscita genera un'eccezioneInvalidOperationException
.Se un messaggio viene ricevuto dal server con il contesto, quando il canale è già stato inizializzato con un contesto, viene generata un'eccezione
ProtocolException
. Si noti che è possibile ricevere il contesto iniziale da un server se il canale viene aperto senza impostazione esplicita del contesto.ContextMessageProperty
su un messaggio in arrivo è semprenull
.
Quando la gestione del contesto non è abilitata, il canale del contesto non gestisce il contesto. È responsabilità dell'applicazione recuperare, gestire e applicare il contesto tramite ContextMessageProperty
. Qualsiasi tentativo di chiamare GetContext o SetContext tramite la proprietà del canale IContextManager
genera un'eccezione InvalidOperationException
.
Tutti i cookie HTTP, ad eccezione dei cookie HTTP del contesto, sono gestiti a livello di canale. I cookie HTTP del contesto sono gestiti a livello di applicazione. Questo potrebbe determinare comportare conseguenze impreviste quando i canali sono condivisi per comunicare con istanze diverse indirizzate da ContextMessageProperty. Nella tabella seguente viene mostrato l'effetto sui cookie HTTP quando Enabled è impostato su true
o false
.
Binding | Valore IContextManager.Enabled | Ambito dei cookie HTTP del contesto | Ambito di altri cookie HTTP |
---|---|---|---|
BasicHttpBinding | n/d | ChannelFactory | ChannelFactory |
BasicHttpContextBinding | true | Canale | Canale |
BasicHttpContextBinding | false | Per ogni messaggio (gestito in modo esplicito dall'applicazione) | Canale |