Udostępnij za pośrednictwem


IContextManager.Enabled Właściwość

Definicja

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łąd InvalidOperationException.

  • 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 zawsze nullnastę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ł

Dotyczy