Поделиться через


IContextManager.Enabled Свойство

Определение

Возвращает или задает значение, указывающее, включено ли управление контекстом.

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

Значение свойства

true, если контекст включен; в противном случае false.

Комментарии

Если управление контекстом включено, канал контекста кэширует контекст в течение времени своего существования. Контекст может быть извлечен из канала с помощью свойства канала IContextManager путем вызова для него метода GetContext. Можно также заранее инициализировать канал с контекстом до его открытия путем вызова метода SetContext для свойства канала. Если канал инициализирован с контекстом, его сброс невозможен.

В этом режиме перечисленное ниже остается неизменным.

  • Любой вызов SetContext после открытия канала вызывает исключение InvalidOperationException.

  • Любая попытка отправить контекст с помощью ContextMessageProperty в исходящем сообщении вызывает исключение InvalidOperationException.

  • Если от сервера получено сообщение с контекстом, а канал уже инициализирован с контекстом, создается исключение ProtocolException. Обратите внимание, что получение исходного контекста с сервера возможно, если канала был открыт без явного задания контекста.

  • Свойство ContextMessageProperty для входящего сообщения всегда имеет значение null.

Если управление контекстом не включено, контекстный канал не управляет контекстом. Ответственность за извлечение, обработку и применение контекста с помощью свойства ContextMessageProperty возлагается на приложение. Любая попытка вызова GetContext или SetContext с использованием свойства канала IContextManager вызывает исключение InvalidOperationException.

Все файлы cookie HTTP, кроме контекстных файлов cookie HTTP, обрабатываются на уровне канала. Контекстные файлы cookie HTTP обрабатываются на уровне приложения. Это может приводить к непредвиденным последствиям, когда каналы совместно используются для общения различными экземплярами, заданными параметром ContextMessageProperty. В следующей таблице показано, как влияет на файлы cookie HTTP установка для параметра Enabled значения true или false.

Привязка Значение IContextManager.Enabled Областью контекстного файла cookie HTTP Область других файлов cookie HTTP
BasicHttpBinding Н/Д ChannelFactory ChannelFactory
BasicHttpContextBinding Да Канал Канал
BasicHttpContextBinding false Для каждого сообщения (явно управляется приложением) Канал

Применяется к