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


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

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

Значение в противном случае .

Комментарии

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

Ниже приведены инварианты в этом режиме:

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

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

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

  • Всегда находится nullвходящего ContextMessageProperty сообщения.

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

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

Binding Значение IContextManager.Enabled Контекст области cookie HTTP Другая область файлов cookie HTTP
BasicHttpBinding n/a Channelfactory Channelfactory
BasicHttpContextBinding истина Канал Канал
BasicHttpContextBinding false Для каждого сообщения (явно управляемого приложением) Канал

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