EndpointDispatcher Класс

Определение

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

public ref class EndpointDispatcher
public ref class EndpointDispatcher sealed
public class EndpointDispatcher
public sealed class EndpointDispatcher
type EndpointDispatcher = class
Public Class EndpointDispatcher
Public NotInheritable Class EndpointDispatcher
Наследование
EndpointDispatcher

Примеры

В следующем примере кода показано использование EndpointDispatcher для поиска объекта System.ServiceModel.Dispatcher.DispatchRuntime для конечной точки и вставка пользовательского инспектора сообщений с помощью поведения конечной точки.

// IEndpointBehavior Members
public void AddBindingParameters(ServiceEndpoint serviceEndpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
  return;
}

public void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior)
{
  behavior.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher)
{
  endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void Validate(ServiceEndpoint serviceEndpoint)
{
  return;
}

Комментарии

Классы EndpointDispatcher и System.ServiceModel.Dispatcher.DispatchRuntime предоставляют точки настройки среды выполнения для конечных точек в службе. Объект EndpointDispatcher можно использовать для определения того, какие сообщения он может обрабатывать, и некоторых данных, относящихся к конечной точке. DispatchRuntime имеет много свойств, используемых для вставки пользовательских расширений в среду выполнения конечной точки.

Объект EndpointDispatcher отвечает за обработку сообщений от System.ServiceModel.Dispatcher.ChannelDispatcher, если адрес назначения сообщения соответствует свойству AddressFilter и действие сообщения соответствует свойству ContractFilter. Если принять сообщение могут два объекта EndpointDispatcher, то значение свойства FilterPriority определяет конечную точку с более высоким приоритетом.

Используйте объект EndpointDispatcher для настройки или расширения процесса получения сообщений от связанного объекта ChannelDispatcher, преобразования объектов сообщений в объекты, используемые в качестве параметров, и вызова операций конечной точки и обратного процесса.

Обычно EndpointDispatcher для конечной точки получается реализацией интерфейса IEndpointBehavior, но к объекту EndpointDispatcher можно получить доступ и из других интерфейсов поведений.

Можно использовать следующие свойства EndpointDispatcher:

  • Свойство AddressFilter позволяет получить или задать объект MessageFilter, который используется ChannelDispatcher для определения, может ли конечная точка обработать определенное сообщение.

  • Свойство ChannelDispatcher возвращает связанный объект ChannelDispatcher, который выполняет отправку и получение сообщений от EndpointDispatcher и может использоваться для проверки или изменения других значений и поведений, относящихся к каналу.

  • ContractFilter возвращает объект MessageFilter, который используется для определения, предназначено ли сообщение для данного контракта.

  • Свойства ContractName и ContractNamespace возвращают имя и пространство имен контракта конечной точки.

  • Свойство DispatchRuntime возвращает объект DispatchRuntime, который можно использовать для изменения значений времени выполнения или вставки пользовательских расширений времени выполнения для конечной точки.

  • Свойство EndpointAddress возвращает адрес конечной точки.

  • Свойство FilterPriority возвращает приоритет составного фильтра, который используется ChannelDispatcher для определения того, какая конечная точка должна обработать сообщение.

Конструкторы

EndpointDispatcher(EndpointAddress, String, String)

Инициализирует новый экземпляр класса EndpointDispatcher с указанным адресом, именем контракта и пространством имен контракта.

EndpointDispatcher(EndpointAddress, String, String, Boolean)

Инициализирует новый экземпляр класса EndpointDispatcher с указанным адресом, именем контракта, пространством имен контракта и значением, показывающим, является ли конечная точка открытой и системной.

Свойства

AddressFilter

Возвращает или задает объект MessageFilter, который используется для определения того, предназначено ли определенное сообщение для адреса конечной точки.

ChannelDispatcher

Возвращает связанный объект ChannelDispatcher, который можно использовать для проверки или изменения других значений и поведений, относящихся к каналу.

ContractFilter

Возвращает или задает объект MessageFilter, который используется для определения того, предназначено ли сообщение для данного контракта.

ContractName

Возвращает имя контракта конечной точки.

ContractNamespace

Возвращает пространство имен контракта конечной точки.

DispatchRuntime

Возвращает объект DispatchRuntime, используемый для проверки, изменения или расширения поведения времени выполнения в рамках конечной точки службы или конечной точки обратного вызова клиента.

EndpointAddress

Возвращает адрес конечной точки.

FilterPriority

Возвращает или задает приоритет комбинации ContractFilter и AddressFilter, когда конечные точки выбираются объектом ChannelDispatcher.

IsSystemEndpoint

Получает значение, которое указывает, была ли конечная точка создана сервером внутренним образом (а не пользователем).

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

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