IContextManager.Enabled Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą, czy zarządzanie kontekstem jest włączone.
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
Wartość właściwości
true
jeśli kontekst jest włączony; w przeciwnym razie , false
.
Uwagi
Gdy zarządzanie kontekstem jest włączone, kanał kontekstowy buforuje kontekst w jego okresie istnienia. Kontekst można pobrać z kanału za pośrednictwem właściwości kanału IContextManager
, wywołując GetContext na nim metodę. Kanał można również wstępnie zainicjować z kontekstem przed otwarciem, wywołując metodę SetContext we właściwości kanału. Po zainicjowaniu kanału z kontekstem nie można go zresetować.
Następujące elementy są niezmienne w tym trybie:
Każde wywołanie metody po SetContext otwarciu kanału zgłasza błąd
InvalidOperationException
.Każda próba wysłania kontekstu za pośrednictwem komunikatu
ContextMessageProperty
wychodzącego zgłasza błądInvalidOperationException
.Jeśli komunikat zostanie odebrany z serwera z kontekstem, gdy kanał jest już zainicjowany z kontekstem
ProtocolException
, zostanie zgłoszony. Należy pamiętać, że kontekst początkowy można odbierać z serwera, jeśli kanał jest otwarty bez jawnego ustawienia kontekstu.Komunikat
ContextMessageProperty
przychodzący jest zawszenull
następujący: .
Gdy zarządzanie kontekstem nie jest włączone, kanał kontekstowy nie zarządza kontekstem. Jest to odpowiedzialność aplikacji za pobieranie kontekstu, zarządzanie nim i stosowanie go za pośrednictwem programu ContextMessageProperty
. Każda próba wywołania GetContext lub SetContext użycia za pośrednictwem właściwości kanału IContextManager
powoduje wyświetlenie polecenia InvalidOperationException
.
Wszystkie pliki cookie HTTP, z wyjątkiem kontekstowych plików cookie HTTP, są obsługiwane na poziomie kanału. Kontekstowe pliki cookie HTTP są zarządzane na poziomie aplikacji. Może to mieć nieoczekiwane konsekwencje, gdy kanały są udostępniane w celu komunikacji z różnymi wystąpieniami docelowymi przez ContextMessagePropertyprogram . W poniższej tabeli pokazano, w jaki sposób pliki cookie HTTP mają wpływ na Enabled ustawienie lub true
false
.
Wiązanie | IContextManager.Enabled, wartość | Zakres plików cookie protokołu HTTP kontekstu | Inny zakres plików cookie HTTP |
---|---|---|---|
BasicHttpBinding | n/d | Channelfactory | Channelfactory |
BasicHttpContextBinding | true | Kanał | Kanał |
BasicHttpContextBinding | fałsz | Dla każdego komunikatu (jawnie zarządzanego przez aplikację) | Kanał |