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