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


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 обычно помещается в стек над элементами привязки надежности, безопасности и транспорта. Элемент 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)

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