ContextBindingElement Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет уровень защиты и механизм обмена в рамках контекста элемента привязки и функциональные возможности для создания прослушивателей каналов и фабрик.
public ref class ContextBindingElement : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Channels::IContextBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public class ContextBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Channels.IContextBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ContextBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
interface IContextBindingElement
Public Class ContextBindingElement
Inherits BindingElement
Implements IContextBindingElement, IPolicyExportExtension
- Наследование
- Реализации
Комментарии
Пользователь ContextBindingElement может добавить элемент в привязку службы для управления протоколом обмена контекстом. Обычно они ContextBindingElement стекаются поверх элементов привязки надежности, безопасности и транспорта. Не ContextBindingElement требует каких-либо параметров конфигурации и может создавать фабрики каналов для IRequestChannel, IRequestSessionChannelа также IDuplexSessionChannel. Он также может создавать прослушиватели каналов для IReplyChannel, IReplySessionChannelа IDuplexSessionChannelтакже . Контекстный канал не изменяет интерфейс канала. Базовый стек каналов должен поддерживать запрошенную форму канала и возможность сеанса.
Прослушиватели каналов и фабрики используются для создания части стеков каналов, используемых для обработки входящих и исходящих сообщений.
Замечание
Если привязка на основе сеанса создается с ContextBindingElement помощью контракта, указывающегоNotAllowedSessionMode = контракт, InvalidOperationException создается при создании канала со следующим текстом: "Управление контекстом канала невозможно включить или отключить после открытия канала". Необходимо задать SessionModeAllowed или Required не использовать канал на основе сеанса.
При создании настраиваемой привязки рекомендуется добавить ContextBindingElement ее в BindingElementCollection настраиваемую привязку перед добавлением элементов привязки надежности и безопасности при наличии. Если это не так, служба может вызвать ProtocolException следующее сообщение:
"Канал контекста получил сообщение с контекстом, который не соответствует текущему контексту, кэшированному в канале. Убедитесь, что служба не изменяет контекст после первоначального задания или отключения управления контекстом, задав свойству канала "IContextManager.Enabled" значение false".
Конструкторы
| Имя | Описание |
|---|---|
| ContextBindingElement() |
Инициализирует новый экземпляр класса ContextBindingElement. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean) |
Инициализирует новый экземпляр класса с указанным уровнем защиты, механизмом обмена контекстом, адресом обратного ContextBindingElement вызова клиента и значением, указывающим, включена ли управление контекстом. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri) |
Инициализирует новый экземпляр класса с указанным уровнем защиты, механизмом обмена контекстом и адресом обратного ContextBindingElement вызова клиента. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) |
Инициализирует новый экземпляр ContextBindingElement класса с указанным уровнем защиты и механизма обмена. |
| ContextBindingElement(ProtectionLevel) |
Инициализирует новый экземпляр ContextBindingElement класса с указанным уровнем защиты. |
Свойства
| Имя | Описание |
|---|---|
| ClientCallbackAddress |
Возвращает или задает адрес обратного вызова клиента для элемента привязки. |
| ContextExchangeMechanism |
Возвращает или задает механизм обмена, используемый для обмена контекстом для элемента привязки. |
| ContextManagementEnabled |
Возвращает или задает значение, указывающее, включена ли управление контекстом. |
| ProtectionLevel |
Возвращает или задает уровень защиты элемента привязки из контекста. |
Методы
| Имя | Описание |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Создает стек фабрики каналов на клиенте, который создает указанный тип канала для указанного контекста. |
| BuildChannelListener<TChannel>(BindingContext) |
Создает стек прослушивателя каналов на клиенте, который принимает указанный тип канала для указанного контекста. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Возвращает значение, указывающее, может ли текущий элемент привязки создать фабрику для указанного типа канала и контекста. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Возвращает значение, указывающее, может ли текущая привязка создать прослушиватель для указанного типа канала и контекста. |
| Clone() |
Создает новый ContextBindingElement объект, инициализированный из текущей. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| ExportPolicy(MetadataExporter, PolicyConversionContext) |
Записывает утверждения пользовательской политики в контекст элемента привязки. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetProperty<T>(BindingContext) |
Возвращает типизированный объект с указанным контекстом из соответствующего слоя в стеке каналов. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |