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) |