DispatchRuntime Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет свойства, которые можно использовать для изменения поведения службы по умолчанию, а также для вложения настраиваемых объектов, которые могут изменить способ преобразования входящих сообщений в объекты и распределения их по операциям. Этот класс не наследуется.
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- Наследование
-
DispatchRuntime
Комментарии
Используйте класс DispatchRuntime либо для изменения поведения по умолчанию службы или отдельной конечной точки, либо для вставки объектов, реализующих настраиваемые изменения в одном или обоих из следующих процессов служб:
Преобразование входящих сообщений в объекты и выпуск этих объектов в качестве вызовов методов на объекте службы.
Преобразование объектов, принятых от ответа на вызов операции службы, в исходящие сообщения.
В Windows Communication Foundation (WCF) диспетчеры каналов и конечных точек являются компонентами службы, отвечающими за прием новых каналов, получение сообщений, отправку и вызов методов, а также обработку ответов. Каждая конечная точка, предоставленная объектом ServiceHost, имеет один диспетчер конечных точек и сопоставленный диспетчер каналов; кроме того, каждый клиент, принимающий участие в дуплексной связи, также имеет диспетчер конечных точек и диспетчер каналов для каждой обратно вызываемой конечной точки.
Объект DispatchRuntime разрешает перехватывать и расширять диспетчеры каналов или конечных точек для всех сообщений в конкретном контракте, даже если сообщение не распознается. При приеме сообщения, не соответствующего ни одному из заданных в контракте сообщений, оно распределяется операции, возвращенной свойством UnhandledDispatchOperation. Сведения о перехвате или расширении всех сообщений для конкретной операции см. в описании класса DispatchOperation.
Класс DispatchRuntime предоставляет четыре основных области расширяемости диспетчера.
Компоненты диспетчера используют свойства объекта DispatchRuntime и сопоставленного диспетчера каналов, возвращаемого свойством ChannelDispatcher, для настройки приема и закрытия каналов диспетчером каналов. Эта категория содержит свойства ChannelInitializers и InputSessionShutdownHandlers.
Компоненты сообщения настраиваются для каждого обрабатываемого сообщения. Эта категория содержит свойства MessageInspectors, OperationSelector, Operations и ErrorHandlers.
Компоненты экземпляра настраивают создание, время жизни и удаление экземпляров типа службы. За дополнительными сведениями о времени жизни объектов служб обратитесь к свойству InstanceContextMode. Эта категория содержит свойства InstanceContextInitializers и InstanceProvider.
Компоненты, относящиеся к безопасности, могут использовать следующие свойства:
Свойство 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) |