Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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.

Namespace:   System.ServiceModel.Dispatcher
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

System.Object
  System.ServiceModel.Dispatcher.DispatchRuntime

public sealed class DispatchRuntime

NameDescription
System_CAPS_pubpropertyAutomaticInputSessionShutdown

Gets or sets a value that specifies whether the service closes an input session when the client closes an output session.

System_CAPS_pubpropertyCallbackClientRuntime

Gets the ClientRuntime object that represents the installation point for extensions to Windows Communication Foundation (WCF) for outbound calls to a duplex callback endpoint.

System_CAPS_pubpropertyChannelDispatcher

Gets the ChannelDispatcher for this dispatch run-time object.

System_CAPS_pubpropertyConcurrencyMode

Gets or sets whether an instance of a service processes messages sequentially or concurrently.

System_CAPS_pubpropertyEndpointDispatcher

Gets the EndpointDispatcher for this dispatch runtime.

System_CAPS_pubpropertyEnsureOrderedDispatch

Gets a value that indicates whether messages are to be dispatched in the order they were sent.

System_CAPS_pubpropertyExternalAuthorizationPolicies

Gets or sets the external authorization policies that define a set of rules for authorizing a user, given a set of claims.

System_CAPS_pubpropertyIgnoreTransactionMessageProperty

Gets or sets whether to ignore the TransactionMessageProperty.

System_CAPS_pubpropertyImpersonateCallerForAllOperations

Gets or sets a value that controls whether the service attempts to impersonate using the credentials provided by the incoming message.

System_CAPS_pubpropertyImpersonateOnSerializingReply

Gets a value that indicates whether impersonation is used on serializing reply operation.

System_CAPS_pubpropertyInputSessionShutdownHandlers

Gets a collection of IInputSessionShutdown objects that can be used to add a custom handler to control how input sessions are closed.

System_CAPS_pubpropertyInstanceContextInitializers

Gets a collection of IInstanceContextInitializer objects that can be used to inspect or modify an InstanceContext object when it is first created.

System_CAPS_pubpropertyInstanceContextProvider

Gets or sets the IInstanceContextProvider to be used by the DispatchRuntime.

System_CAPS_pubpropertyInstanceProvider

Gets or sets an IInstanceProvider object that you can use to control the creation and destruction of service objects.

System_CAPS_pubpropertyMessageAuthenticationAuditLevel

Gets or sets a value that specifies whether successful message authentication events are written to the event log specified by SecurityAuditLogLocation.

System_CAPS_pubpropertyMessageInspectors

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.

System_CAPS_pubpropertyOperations

Gets a collection of DispatchOperation objects that can be used to control the execution behavior of a particular operation.

System_CAPS_pubpropertyOperationSelector

Gets or sets the IDispatchOperationSelector object that controls the selection of a destination DispatchOperation for a particular message.

System_CAPS_pubpropertyPreserveMessage

Gets or sets whether the message is preserved.

System_CAPS_pubpropertyPrincipalPermissionMode

Gets or sets a value that specifies how the CurrentPrincipal property is set.

System_CAPS_pubpropertyReleaseServiceInstanceOnTransactionComplete

Gets or sets a value that specifies whether the service object is recycled after the transaction successfully completes.

System_CAPS_pubpropertyRoleProvider

Gets or sets the custom RoleProvider that is used by the DispatchRuntime.

System_CAPS_pubpropertySecurityAuditLogLocation

Gets or sets the location of the audit log.

System_CAPS_pubpropertyServiceAuthenticationManager

Gets or sets the object that manages an authentication process for service operations.

System_CAPS_pubpropertyServiceAuthorizationAuditLevel

Gets or sets a value that controls what service authorization events are audited.

System_CAPS_pubpropertyServiceAuthorizationManager

Gets the ServiceAuthorizationManager that provides authorization checking for the DispatchRuntime.

System_CAPS_pubpropertySingletonInstanceContext

Gets or sets the singleton IInstanceContextProvider to be used by the DispatchRuntime.

System_CAPS_pubpropertySuppressAuditFailure

Gets or sets a value that specifies whether to suppress non-critical exceptions that occur during the logging process.

System_CAPS_pubpropertySynchronizationContext

Gets or sets the synchronization context that is used to invoke the service operations.

System_CAPS_pubpropertyTransactionAutoCompleteOnSessionClose

Gets or sets a value that specifies whether to automatically complete the current transaction when the session closes.

System_CAPS_pubpropertyType

Gets or sets the contract type.

System_CAPS_pubpropertyUnhandledDispatchOperation

Gets or sets the operation to which unrecognized messages are dispatched.

System_CAPS_pubpropertyValidateMustUnderstand

Gets or sets the value of ValidateMustUnderstand.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

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.

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

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. 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. To intercept or extend across all messages for a particular operation, see the DispatchOperation class.

There are four main areas of dispatcher extensibility exposed by the DispatchRuntime class:

  1. 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. This category includes the ChannelInitializers and InputSessionShutdownHandlers properties.

  2. Message components are customized for each message processed. 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. For more information about service object lifetimes, see the InstanceContextMode property. This category includes the InstanceContextInitializers and the InstanceProvider properties.

  4. Security-related components can use the following properties:

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft