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


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)

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