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


DispatchRuntime Класс

Определение

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

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

Комментарии

DispatchRuntime Используйте класс для изменения поведения службы или отдельной конечной точки по умолчанию или вставки объектов, реализующих пользовательские изменения в одном или обоих из следующих процессов службы:

  1. Преобразование входящих сообщений в объекты и освобождение этих объектов в качестве вызовов метода для объекта службы.

  2. Преобразование объектов, полученных от ответа на вызов операции службы в исходящие сообщения.

В Windows Communication Foundation (WCF) диспетчеры каналов и конечных точек являются компонентами служб, ответственными за прием новых каналов, получение сообщений, отправку методов и вызов и обработку ответов. Каждая конечная точка, предоставленная ServiceHost объектом, имеет один диспетчер конечных точек и связанный диспетчер каналов. Кроме того, каждый клиент, участвующий в дуплексном взаимодействии, также имеет диспетчер конечных точек и диспетчер каналов для каждой конечной точки обратного вызова.

Этот компонент DispatchRuntime позволяет вам перехватывать и расширять диспетчер каналов или конечных точек для всех сообщений в определенном контракте, даже если сообщение не распознается. Когда сообщение поступает, которое не соответствует ни одному сообщению, объявленному в контракте, оно отправляется в операцию, возвращенную свойством UnhandledDispatchOperation . Чтобы перехватывать или расширять все сообщения для определенной операции, смотрите класс DispatchOperation.

Существует четыре основных области расширяемости диспетчера, предоставляемые классом DispatchRuntime :

  1. Компоненты диспетчера используют свойства DispatchRuntime диспетчера и диспетчера связанного канала, возвращаемого ChannelDispatcher свойством, для настройки приема и закрытия каналов диспетчера каналов. Эта категория включает в себя ChannelInitializers и InputSessionShutdownHandlers свойства.

  2. Компоненты сообщения настраиваются для каждого обработанного сообщения. Эта категория включает MessageInspectors, OperationSelector, Operations и ErrorHandlers свойства.

  3. Компоненты экземпляров настраивают создание, время существования и удаление экземпляров типа службы. Дополнительные сведения о времени существования объекта службы см. в свойстве InstanceContextMode . Эта категория включает InstanceContextInitializers свойства и InstanceProvider свойства.

  4. Компоненты, связанные с безопасностью, могут использовать следующие свойства:

    • SecurityAuditLogLocation указывает, где записываются события аудита.

    • ImpersonateCallerForAllOperations определяет, пытается ли служба использовать предоставленные входящим сообщением учетные данные для имитации пользователя.

    • MessageAuthenticationAuditLevel определяет, записываются ли события проверки подлинности сообщения в журнал событий, указанный в журнале SecurityAuditLogLocationсобытий.

    • PrincipalPermissionMode определяет, как задано CurrentPrincipal свойство.

    • ServiceAuthorizationAuditLevel указывает, как выполняется аудит событий авторизации.

    • SuppressAuditFailure указывает, следует ли подавлять некритичные исключения, возникающие во время процесса ведения журнала.

Обычно пользовательские объекты расширения назначаются DispatchRuntime свойству или вставляются в коллекцию поведением службы (объектом, IServiceBehaviorреализующим), поведением контракта (объектом, реализующим IContractBehaviorобъект), или поведением конечной точки (объектом, реализующим IEndpointBehavior). Затем объект установки поведения добавляется в соответствующую коллекцию объектов поведения программным способом или путем реализации пользовательского объекта BehaviorExtensionElement, чтобы обеспечить возможность вставки поведения с помощью файла конфигурации приложения.

Свойства

Имя Описание
AutomaticInputSessionShutdown

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

CallbackClientRuntime

ClientRuntime Возвращает объект, представляющий точку установки расширений в Windows Communication Foundation (WCF) для исходящих вызовов к дуплексной конечной точке обратного вызова.

ChannelDispatcher

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

ConcurrencyMode

Возвращает или задает, обрабатывает ли экземпляр службы сообщения последовательно или параллельно.

EndpointDispatcher

Возвращает для этой среды выполнения отправки EndpointDispatcher .

EnsureOrderedDispatch

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

ExternalAuthorizationPolicies

Возвращает или задает внешние политики авторизации, определяющие набор правил для авторизации пользователя, учитывая набор утверждений.

IgnoreTransactionMessageProperty

Возвращает или задает, следует ли игнорировать объект TransactionMessageProperty.

ImpersonateCallerForAllOperations

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

ImpersonateOnSerializingReply

Возвращает значение, указывающее, используется ли олицетворение при сериализации операции ответа.

InputSessionShutdownHandlers

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

InstanceContextInitializers

Возвращает коллекцию IInstanceContextInitializer объектов, которые можно использовать для проверки или изменения InstanceContext объекта при первом создании.

InstanceContextProvider

Возвращает или задает используемый IInstanceContextProvider параметром DispatchRuntime.

InstanceProvider

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

MessageAuthenticationAuditLevel

Возвращает или задает значение, указывающее, записываются ли события проверки подлинности сообщения в журнал событий, указанный в SecurityAuditLogLocation.

MessageInspectors

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

Operations

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

OperationSelector

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

PreserveMessage

Возвращает или задает, сохраняется ли сообщение.

PrincipalPermissionMode

Возвращает или задает значение, указывающее, как CurrentPrincipal задано свойство.

ReleaseServiceInstanceOnTransactionComplete

Возвращает или задает значение, указывающее, перезапускается ли объект службы после успешного завершения транзакции.

RoleProvider

Возвращает или задает настраиваемый RoleProvider объект, используемый параметром DispatchRuntime.

SecurityAuditLogLocation

Возвращает или задает расположение журнала аудита.

ServiceAuthenticationManager

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

ServiceAuthorizationAuditLevel

Возвращает или задает значение, определяющее, какие события авторизации службы проверяются.

ServiceAuthorizationManager

Получает проверку ServiceAuthorizationManager авторизации для параметра DispatchRuntime.

SingletonInstanceContext

Возвращает или задает одноэлементный объект IInstanceContextProvider , используемый параметром DispatchRuntime.

SuppressAuditFailure

Возвращает или задает значение, указывающее, следует ли подавлять некритичные исключения, возникающие во время процесса ведения журнала.

SynchronizationContext

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

TransactionAutoCompleteOnSessionClose

Возвращает или задает значение, указывающее, следует ли автоматически завершить текущую транзакцию при закрытии сеанса.

Type

Возвращает или задает тип контракта.

UnhandledDispatchOperation

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

ValidateMustUnderstand

Возвращает или задает значение ValidateMustUnderstand.

Методы

Имя Описание
Equals(Object)

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

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

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

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

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

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

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

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

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

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

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