DispatchRuntime DispatchRuntime DispatchRuntime DispatchRuntime Class

Определение

Предоставляет свойства, которые можно использовать для изменения поведения службы по умолчанию, а также для вложения настраиваемых объектов, которые могут изменить способ преобразования входящих сообщений в объекты и распределения их по операциям.Exposes properties that can be used to modify default service behavior as well as attach custom objects that can modify how incoming messages are transformed into objects and dispatched to operations. Этот класс не наследуется.This class cannot be inherited.

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

Комментарии

Используйте класс DispatchRuntime либо для изменения поведения по умолчанию службы или отдельной конечной точки, либо для вставки объектов, реализующих настраиваемые изменения в одном или обоих из следующих процессов служб:Use the DispatchRuntime class either to modify the default behavior of a service or individual endpoint, or to insert objects that implement custom modifications to one or both of the following service processes:

  1. Преобразование входящих сообщений в объекты и выпуск этих объектов в качестве вызовов методов на объекте службы.The transformation of incoming messages into objects and releasing those objects as method invocations on a service object.

  2. Преобразование объектов, принятых от ответа на вызов операции службы, в исходящие сообщения.The transformation of objects received from the response to a service operation invocation into outbound messages.

В Windows Communication Foundation (WCF) диспетчеры каналов и конечных точек — это компоненты службы, отвечающие за принятие новых каналов, получение сообщений, отправку и вызов метода, а также обработку ответа.In Windows Communication Foundation (WCF), the channel and endpoint dispatchers are the service components responsible for accepting new channels, receiving messages, method dispatch and invocation, and response processing. Каждая конечная точка, предоставленная объектом ServiceHost, имеет один диспетчер конечных точек и сопоставленный диспетчер каналов; кроме того, каждый клиент, принимающий участие в дуплексной связи, также имеет диспетчер конечных точек и диспетчер каналов для каждой обратно вызываемой конечной точки.Each endpoint exposed by a ServiceHost object has one endpoint dispatcher and an associated channel dispatcher; in addition, each client that participates in duplex communication also has an endpoint dispatcher and channel dispatcher for each callback endpoint.

Объект DispatchRuntime разрешает перехватывать и расширять диспетчеры каналов или конечных точек для всех сообщений в конкретном контракте, даже если сообщение не распознается.The DispatchRuntime enables you to intercept and extend the channel or endpoint dispatcher for all messages across a particular contract, even when a message is not recognized. При приеме сообщения, не соответствующего ни одному из заданных в контракте сообщений, оно распределяется операции, возвращенной свойством UnhandledDispatchOperation.When a message arrives that does not match any messages declared in the contract it is dispatched to the operation that was returned by the UnhandledDispatchOperation property. Сведения о перехвате или расширении всех сообщений для конкретной операции см. в описании класса DispatchOperation.To intercept or extend across all messages for a particular operation, see the DispatchOperation class.

Класс DispatchRuntime предоставляет четыре основных области расширяемости диспетчера.There are four main areas of dispatcher extensibility exposed by the DispatchRuntime class:

  1. Компоненты диспетчера используют свойства объекта DispatchRuntime и сопоставленного диспетчера каналов, возвращаемого свойством ChannelDispatcher, для настройки приема и закрытия каналов диспетчером каналов.Dispatch components use the properties of the DispatchRuntime and those of the associated channel dispatcher returned by the ChannelDispatcher property to customize how the channel dispatcher accepts and closes channels. Эта категория содержит свойства ChannelInitializers и InputSessionShutdownHandlers.This category includes the ChannelInitializers and InputSessionShutdownHandlers properties.

  2. Компоненты сообщения настраиваются для каждого обрабатываемого сообщения.Message components are customized for each message processed. Эта категория содержит свойства MessageInspectors, OperationSelector, Operations и ErrorHandlers.This category includes the MessageInspectors, OperationSelector, Operations, and the ErrorHandlers properties.

  3. Компоненты экземпляра настраивают создание, время жизни и удаление экземпляров типа службы.Instance components customize the creation, lifetime, and disposal of instances of the service type. За дополнительными сведениями о времени жизни объектов служб обратитесь к свойству InstanceContextMode.For more information about service object lifetimes, see the InstanceContextMode property. Эта категория содержит свойства InstanceContextInitializers и InstanceProvider.This category includes the InstanceContextInitializers and the InstanceProvider properties.

  4. Компоненты, относящиеся к безопасности, могут использовать следующие свойства:Security-related components can use the following properties:

Обычно объекты с настраиваемыми расширениями сопоставляются свойству DispatchRuntime или вставляются в коллекцию при помощи поведения службы (объект, реализующий IServiceBehavior), поведения контракта (объект, реализующий IContractBehavior) или поведения конечной точки (объект, реализующий IEndpointBehavior).Typically custom extension objects are assigned to a DispatchRuntime property or inserted into a collection by a service behavior (an object that implements IServiceBehavior), a contract behavior (an object that implements IContractBehavior), or an endpoint behavior (an object that implements IEndpointBehavior). После этого объект устанавливающего поведения добавляется в соответствующую коллекцию поведений программно или реализацией пользовательского объекта BehaviorExtensionElement, чтобы разрешить вставку поведения с помощью файла конфигурации приложения.Then the installing behavior object is added to the appropriate collection of behaviors either programmatically or by implementing a custom BehaviorExtensionElement object to enable the behavior to be inserted using an application configuration file.

Свойства

AutomaticInputSessionShutdown AutomaticInputSessionShutdown AutomaticInputSessionShutdown AutomaticInputSessionShutdown

Возвращает или задает значение, указывающее, будет ли служба закрывать входящий сеанс, когда клиент закрывает выходящий сеанс.Gets or sets a value that specifies whether the service closes an input session when the client closes an output session.

CallbackClientRuntime CallbackClientRuntime CallbackClientRuntime CallbackClientRuntime

Возвращает объект ClientRuntime, представляющий точку установки для расширений Windows Communication Foundation (WCF) для исходящих вызовов дуплексных конечных точек, вызываемых обратно.Gets the ClientRuntime object that represents the installation point for extensions to Windows Communication Foundation (WCF) for outbound calls to a duplex callback endpoint.

ChannelDispatcher ChannelDispatcher ChannelDispatcher ChannelDispatcher

Возвращает объект ChannelDispatcher для данного объекта среды выполнения распределения.Gets the ChannelDispatcher for this dispatch run-time object.

ConcurrencyMode ConcurrencyMode ConcurrencyMode ConcurrencyMode

Возвращает или задает, будет ли экземпляр службы обрабатывать сообщения последовательно или параллельно.Gets or sets whether an instance of a service processes messages sequentially or concurrently.

EndpointDispatcher EndpointDispatcher EndpointDispatcher EndpointDispatcher

Возвращает объект EndpointDispatcher для данной среды выполнения распределения.Gets the EndpointDispatcher for this dispatch runtime.

EnsureOrderedDispatch EnsureOrderedDispatch EnsureOrderedDispatch EnsureOrderedDispatch

Получает значение, определяющее, отправляются ли сообщения точно в том порядке, в котором они были отправлены.Gets a value that indicates whether messages are to be dispatched in the order they were sent.

ExternalAuthorizationPolicies ExternalAuthorizationPolicies ExternalAuthorizationPolicies ExternalAuthorizationPolicies

Возвращает или задает политики внешней авторизации, которые определяют набор правил авторизации пользователя, к которому предъявляется набор требований.Gets or sets the external authorization policies that define a set of rules for authorizing a user, given a set of claims.

IgnoreTransactionMessageProperty IgnoreTransactionMessageProperty IgnoreTransactionMessageProperty IgnoreTransactionMessageProperty

Возвращает или задает значение, указывающее, следует ли игнорировать TransactionMessageProperty.Gets or sets whether to ignore the TransactionMessageProperty.

ImpersonateCallerForAllOperations ImpersonateCallerForAllOperations ImpersonateCallerForAllOperations ImpersonateCallerForAllOperations

Возвращает или задает значение, которое определяет, будет ли служба пытаться производить олицетворение при помощи учетных данных, предоставленных во входящем сообщении.Gets or sets a value that controls whether the service attempts to impersonate using the credentials provided by the incoming message.

ImpersonateOnSerializingReply ImpersonateOnSerializingReply ImpersonateOnSerializingReply ImpersonateOnSerializingReply

Получает значение, указывающее, используется ли олицетворение в операциях сериализации ответа.Gets a value that indicates whether impersonation is used on serializing reply operation.

InputSessionShutdownHandlers InputSessionShutdownHandlers InputSessionShutdownHandlers InputSessionShutdownHandlers

Возвращает коллекцию объектов IInputSessionShutdown, которые можно использовать для добавления настраиваемого обработчика, чтобы управлять способом завершения входящих сеансов.Gets a collection of IInputSessionShutdown objects that can be used to add a custom handler to control how input sessions are closed.

InstanceContextInitializers InstanceContextInitializers InstanceContextInitializers InstanceContextInitializers

Возвращает коллекцию объектов IInstanceContextInitializer, которую можно использовать для проверки или изменения объекта InstanceContext, когда он впервые создается.Gets a collection of IInstanceContextInitializer objects that can be used to inspect or modify an InstanceContext object when it is first created.

InstanceContextProvider InstanceContextProvider InstanceContextProvider InstanceContextProvider

Возвращает или задает экземпляр IInstanceContextProvider для использование экземпляром DispatchRuntime.Gets or sets the IInstanceContextProvider to be used by the DispatchRuntime.

InstanceProvider InstanceProvider InstanceProvider InstanceProvider

Возвращает или задает объект IInstanceProvider, который можно использовать для управления созданием и удалением объектов служб.Gets or sets an IInstanceProvider object that you can use to control the creation and destruction of service objects.

MessageAuthenticationAuditLevel MessageAuthenticationAuditLevel MessageAuthenticationAuditLevel MessageAuthenticationAuditLevel

Возвращает или задает значение, определяющее, будут ли события успешной проверки подлинности сообщения записываться в журнал событий, указанный в SecurityAuditLogLocation.Gets or sets a value that specifies whether successful message authentication events are written to the event log specified by SecurityAuditLogLocation.

MessageInspectors MessageInspectors MessageInspectors MessageInspectors

Возвращает коллекцию объектов IDispatchMessageInspector, которую можно использовать для прикрепления настраиваемого инспектора сообщений для всех входящих и исходящих сообщений внутри конечной точки.Gets a collection of IDispatchMessageInspector objects that can be used to attach a custom message inspector for all incoming and outgoing messages across the endpoint.

Operations Operations Operations Operations

Возвращает коллекцию объектов DispatchOperation, которую можно использовать для выполнения поведения конкретной операции.Gets a collection of DispatchOperation objects that can be used to control the execution behavior of a particular operation.

OperationSelector OperationSelector OperationSelector OperationSelector

Возвращает или задает объект IDispatchOperationSelector, который управляет выбором назначения DispatchOperation для конкретного сообщения.Gets or sets the IDispatchOperationSelector object that controls the selection of a destination DispatchOperation for a particular message.

PreserveMessage PreserveMessage PreserveMessage PreserveMessage

Возвращает или задает значение, которое показывает, сохраняется ли сообщение.Gets or sets whether the message is preserved.

PrincipalPermissionMode PrincipalPermissionMode PrincipalPermissionMode PrincipalPermissionMode

Возвращает или задает значение, указывающее, как будет задаваться свойство CurrentPrincipal.Gets or sets a value that specifies how the CurrentPrincipal property is set.

ReleaseServiceInstanceOnTransactionComplete ReleaseServiceInstanceOnTransactionComplete ReleaseServiceInstanceOnTransactionComplete ReleaseServiceInstanceOnTransactionComplete

Возвращает или задает значение, указывающее, будет ли объект службы утилизироваться после успешного выполнения транзакции.Gets or sets a value that specifies whether the service object is recycled after the transaction successfully completes.

RoleProvider RoleProvider RoleProvider RoleProvider

Возвращает или задает настраиваемый экземпляр RoleProvider, который используется экземпляром DispatchRuntime.Gets or sets the custom RoleProvider that is used by the DispatchRuntime.

SecurityAuditLogLocation SecurityAuditLogLocation SecurityAuditLogLocation SecurityAuditLogLocation

Возвращает или задает расположение журнала аудита.Gets or sets the location of the audit log.

ServiceAuthenticationManager ServiceAuthenticationManager ServiceAuthenticationManager ServiceAuthenticationManager

Возвращает или задает объект, который управляет процессом проверки подлинности для операций службы.Gets or sets the object that manages an authentication process for service operations.

ServiceAuthorizationAuditLevel ServiceAuthorizationAuditLevel ServiceAuthorizationAuditLevel ServiceAuthorizationAuditLevel

Возвращает или задает значение, определяющее, какие события авторизации службы будут аудироваться.Gets or sets a value that controls what service authorization events are audited.

ServiceAuthorizationManager ServiceAuthorizationManager ServiceAuthorizationManager ServiceAuthorizationManager

Возвращает экземпляр ServiceAuthorizationManager, предоставляющий проверку авторизации для DispatchRuntime.Gets the ServiceAuthorizationManager that provides authorization checking for the DispatchRuntime.

SingletonInstanceContext SingletonInstanceContext SingletonInstanceContext SingletonInstanceContext

Возвращает или задает одноэлементный экземпляр IInstanceContextProvider для использование экземпляром DispatchRuntime.Gets or sets the singleton IInstanceContextProvider to be used by the DispatchRuntime.

SuppressAuditFailure SuppressAuditFailure SuppressAuditFailure SuppressAuditFailure

Возвращает или задает значение, которое указывает, будут ли подавляться некритические исключения, генерируемые в ходе процесса ведения журнала.Gets or sets a value that specifies whether to suppress non-critical exceptions that occur during the logging process.

SynchronizationContext SynchronizationContext SynchronizationContext SynchronizationContext

Возвращает или задает контекст синхронизации, используемый для вызова операций службы.Gets or sets the synchronization context that is used to invoke the service operations.

TransactionAutoCompleteOnSessionClose TransactionAutoCompleteOnSessionClose TransactionAutoCompleteOnSessionClose TransactionAutoCompleteOnSessionClose

Возвращает или задает значение, которое указывает, завершается ли автоматически текущая транзакция при завершении сеанса.Gets or sets a value that specifies whether to automatically complete the current transaction when the session closes.

Type Type Type Type

Возвращает или задает тип контракта.Gets or sets the contract type.

UnhandledDispatchOperation UnhandledDispatchOperation UnhandledDispatchOperation UnhandledDispatchOperation

Возвращает или задает операцию, которой передаются неопознанные сообщения.Gets or sets the operation to which unrecognized messages are dispatched.

ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand

Возвращает или задает значение ValidateMustUnderstand.Gets or sets the value of ValidateMustUnderstand.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

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