System.ServiceModel 4.0.0.0 System.Object

Use the 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:

The transformation of incoming messages into objects and releasing those objects as method invocations on a service object.

The transformation of objects received from the response to a service operation invocation into outbound messages.

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

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

Dispatch components use the properties of the and those of the associated channel dispatcher returned by the property to customize how the channel dispatcher accepts and closes channels. This category includes the and properties.

Message components are customized for each message processed. This category includes the , , , and the properties.

Instance components customize the creation, lifetime, and disposal of instances of the service type. For more information about service object lifetimes, see the property. This category includes the and the properties.

Security-related components can use the following properties:

indicates where audit events are written.

controls whether the service attempts to impersonate using the credentials provided by the incoming message.

controls whether successful message authentication events are written to the event log specified by .

controls how the property is set.

specifies how the auditing of authorization events is performed.

specifies whether to suppress non-critical exceptions that occur during the logging process.

Typically custom extension objects are assigned to a property or inserted into a collection by a service behavior (an object that implements ), a contract behavior (an object that implements ), or an endpoint behavior (an object that implements ). Then the installing behavior object is added to the appropriate collection of behaviors either programmatically or by implementing a custom object to enable the behavior to be inserted using an application configuration file.

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.

- Property
  4.0.0.0
  System.Boolean To be added.

  If you set the property to false, the channel must be closed by some other mechanism. In this case, you must add a custom session shutdown handler to the property.

  By default when a client closes an output session and the service has finished processing any remaining messages the server closes the session. Setting to false prevents the server from automatically closing the session and enables custom control of session lifetimes.

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

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.ClientRuntime To be added.

  Use the to add custom extension objects that view or modify the conversion of parameters to outbound messages and response messages back into return values. For details, see .

  Gets the object that represents the installation point for extensions to indigo1 for outbound calls to a duplex callback endpoint.

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.ChannelDispatcher To be added. To be added.

  Gets the for this dispatch run-time object.

- Property
  4.0.0.0
  System.ServiceModel.ConcurrencyMode To be added.

  The service implementation must be thread-safe to use the Multiple concurrency mode.

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

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.EndpointDispatcher To be added.

  Use the property to obtain the endpoint dispatcher associated with this dispatch runtime to modify or customize endpoint-specific execution.

  Gets the for this dispatch runtime.

- Property
  4.0.0.0
  System.Collections.ObjectModel.ReadOnlyCollection<System.IdentityModel.Policy.IAuthorizationPolicy> To be added.

  Use this property to add a custom implementation of that defines a set of rules for authorizing a user, given a set of claims. This custom implementation is used every time the service is called.

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

- Property
  4.0.0.0
  System.Boolean To be added.

  The allows third-party channel developers who use a proprietary transaction flow mechanism for their channel to introduce their transaction into indigo1. If this property is set to true, the transaction is ignored when executing the service method.

  Gets or sets whether to ignore the .

- Property
  4.0.0.0
  System.Boolean To be added.

  Use the property to control whether impersonation is performed when an operation's property value is . An exception is thrown if the property is true but an operation's property value is .

  If an operation's property value is impersonation is always attempted.

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

- Property
  4.0.0.0
  System.Collections.Generic.SynchronizedCollection<System.ServiceModel.Dispatcher.IInputSessionShutdown> To be added.

  Add an object to this property to control the manner in which input sessions are closed. When a call to the method on the first returns null, (which indicates that the input session has been closed), the dispatcher invokes each object, passing it an object. Custom objects can use this object to perform clean-up for each channel state or to send a response message before closing the channel.

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

- Property
  4.0.0.0
  System.Collections.Generic.SynchronizedCollection<System.ServiceModel.Dispatcher.IInstanceContextInitializer> To be added.

  Use the property to add a custom initializer that can inspect or modify an object when it is first created. The frequency with which objects are created is controlled by the property.

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

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.IInstanceContextProvider To be added. To be added.

  Gets or sets the to be used by the .

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.IInstanceProvider To be added.

  Implement the interface and assign the implementation to the property to control instances of the service type using a constructor other than the default constructor, for example, to implement a custom instancing mode such as instance pooling.

  Typically the method is invoked once, when the object is first created. The method is also invoked once, when the object is closed.

  A service can also be configured to release an instance before the object is closed. This can be configured by using the property or by calling the method. If this is done, the object calls the method. If a new message arrives after the instance has been released, a new instance is created using the method.

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

- Property
  4.0.0.0
  System.ServiceModel.AuditLevel To be added.

  Use the property to specify whether successful message authentication events are written to the event log.

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

- Property
  4.0.0.0
  System.Collections.Generic.SynchronizedCollection<System.ServiceModel.Dispatcher.IDispatchMessageInspector> To be added.

  Use the property to attach custom objects that can inspect or transform all messages that flow through the endpoint. Because the object gets a reference to the message, you can buffer it and examine a copy of the body.

  Gets a collection of objects that can be used to attach a custom message inspector for all incoming and outgoing messages across the endpoint.

- Property
  4.0.0.0
  System.Collections.Generic.SynchronizedKeyedCollection<System.String,System.ServiceModel.Dispatcher.DispatchOperation> To be added.

  Use the property to inspect or modify parameters, control parameter and return value serialization and deserialization, control operation invocation, and modify other behaviors for a single operation. For details, see .

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

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.IDispatchOperationSelector To be added.

  Use the property to decide which operation receives a given message. The default operation selector returns the value of the action header for the message, which is used as the key to locate the correct . If no matching operation is found, the invocation is dispatched to the return value from the property.

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

- Property
  4.0.0.0
  System.ServiceModel.Description.PrincipalPermissionMode To be added.

  When the is , the property is not set.

  When the value is the property is populated with a based on the user credentials of the incoming message.

  When the value is the property is populated with an object based on vstecasp role information.

  When the value is the property is populated by a custom implementation.

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

- Property
  4.0.0.0
  System.Boolean To be added.

  Use the to specify that the method is called when the transaction successfully completes.

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

- Property
  4.0.0.0
  System.Web.Security.RoleProvider To be added. To be added.

  Gets or sets the custom that is used by the .

- Property
  4.0.0.0
  System.ServiceModel.AuditLogLocation To be added. To be added.

  Gets or sets the location of the audit log.

- Property
  4.0.0.0
  System.ServiceModel.AuditLevel To be added.

  In the default case, no service authorization events are audited. If the value is , only successful service authorization events are written to the audit log specified by the property. If this property has a value of , only unsuccessful service authorization events are written to the audit log specified by the property. If the value is , both successful and failed service authorization events are written to the audit log.

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

- Property
  4.0.0.0
  System.ServiceModel.ServiceAuthorizationManager To be added. To be added.

  Gets the that provides authorization checking for the .

- Property
  4.0.0.0
  System.ServiceModel.InstanceContext To be added. To be added.

  Gets or sets the singleton to be used by the .

- Property
  4.0.0.0
  System.Boolean To be added.

  Set to false if you want exceptions that occur during the course of writing the audit log to be re-thrown to the application. In the default case, only the , , , and exceptions that result from attempts to write audit events are re-thrown to the application; all other exceptions are suppressed.

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

- Property
  4.0.0.0
  System.Threading.SynchronizationContext To be added.

  The return value can be null. If this value is not null, then this synchronization context is used to invoke the service operations on the correct thread.

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

- Property
  4.0.0.0
  System.Boolean To be added.

  If is true and there is an active transaction, the transaction is completed when the session closes. If is false, active transactions are not completed and are eventually aborted.

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

- Property
  4.0.0.0
  System.Type To be added. To be added.

  Gets or sets the contract type.

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.DispatchOperation To be added.

  The operation return by the is the operation indicated by the use of the "*" (asterisk) in the property.

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

- Property
  4.0.0.0
  System.Boolean To be added.

  Determines whether unexpected message headers cause an error condition.

  Gets or sets the value of .