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
ContextMessagePropertywychodzą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
ContextMessagePropertyprzychodzący jest zawszenullnastę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 truefalse.
| 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ł |