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. Контекстный канал не изменяет интерфейс канала. Базовый стек каналов должен поддерживать запрошенную форму канала и возможность сеанса.
Прослушиватели и фабрики каналов используются для создания части стеков каналов, служащей для обработки входящих и исходящих сообщений.
Примечание
Если привязка на основе сеанса создается с и используется с контрактом, указывающим SessionMode = NotAllowed, InvalidOperationException при создании канала создается исключение со следующим текстомContextBindingElement: "Управление контекстом канала не может быть включено или отключено после открытия канала". Необходимо задать значение SessionModeAllowed или Required не использовать канал на основе сеанса.
При создании настраиваемой привязки рекомендуется добавлять элемент ContextBindingElement в коллекцию BindingElementCollection настраиваемой привязки до добавления элементов привязки надежности и безопасности, если они имеются. В противном случае ваша служба может вызвать исключение ProtocolException со следующим сообщением:
"Контекстный канал получил сообщение с контекстом, не соответствующим текущему контексту, находящемуся в кэше канала. Обеспечьте, чтобы служба не изменяла контекст после его начального задания, или отключите управление контекстом, задав для свойства канала "IContextManager.Enabled" значение "false"".
Конструкторы
ContextBindingElement() |
Инициализирует новый экземпляр класса ContextBindingElement. |
ContextBindingElement(ProtectionLevel) |
Инициализирует новый экземпляр класса ContextBindingElement с указанным уровнем защиты. |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) |
Инициализирует новый экземпляр класса ContextBindingElement с указанными уровнем защиты и механизмом обмена. |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri) |
Инициализирует новый экземпляр класса ContextBindingElement с указанным уровнем защиты, механизмом обмена контекстом и адресом обратного вызова клиента. |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean) |
Инициализирует новый экземпляр класса 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) |