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 włączono zarządzanie kontekstem, kanał kontekstu buforuje kontekst w jego okres istnienia. Kontekst można pobrać z kanału za pośrednictwem IContextManager właściwości kanału przez wywołanie metody w tym kanale GetContext . Kanał może być również wstępnie zainicjowany przy użyciu kontekstu przed otwarciem przez wywołanie SetContext metody we właściwości kanału. Po zainicjowaniu kanału z kontekstem nie można go zresetować.
Następujące elementy są nieodmianami w tym trybie:
Każde wywołanie SetContext po otwartym kanale zgłasza
InvalidOperationException.Wszystkie próby wysłania kontekstu za pomocą
ContextMessagePropertywiadomości wychodzącej zgłaszająInvalidOperationException.Jeśli komunikat jest odbierany z serwera z kontekstem, gdy kanał jest już zainicjowany przy użyciu kontekstu a
ProtocolExceptionjest zgłaszany. Należy zauważyć, że można odbierać kontekst początkowy z serwera, jeśli kanał jest otwarty bez jawnego ustawiania kontekstu.ContextMessagePropertyKomunikat przychodzący jest zawszenull.
Gdy zarządzanie kontekstem nie jest włączone, kanał kontekstu nie będzie zarządzać kontekstem. Jest on odpowiedzialny za pobieranie i stosowanie kontekstu oraz zarządzanie nim za pomocą programu ContextMessageProperty . Każda próba wywołania GetContext lub SetContext użycia przez IContextManager Właściwość Channel powoduje InvalidOperationException .
Wszystkie pliki cookie HTTP, z wyjątkiem kontekstu plików cookie protokołu 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, aby komunikować się z różnymi wystąpieniami przeznaczonymi dla programu ContextMessageProperty . W poniższej tabeli pokazano, w jaki sposób pliki cookie HTTP mają wpływ Enabled , gdy jest ustawiony na true lub false .
| Wiązanie | IContextManager. Enabled — wartość | Zakres plików cookie HTTP kontekstu | Zakres innych plików cookie HTTP |
|---|---|---|---|
| BasicHttpBinding | n/d | Endpoint | Endpoint |
| BasicHttpContextBinding | true | Kanał | Kanał |
| BasicHttpContextBinding | fałsz | Dla każdego komunikatu (jawnie zarządzany przez aplikację) | Kanał |