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


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также . Контекстный канал не изменяет интерфейс канала. Базовый стек каналов должен поддерживать запрошенную форму канала и возможность сеанса.

Прослушиватели каналов и фабрики используются для создания части стеков каналов, используемых для обработки входящих и исходящих сообщений.

Замечание

Если привязка на основе сеанса создается с 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)

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