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 | Для каждого сообщения (явно управляется приложением) | Канал |