Extending ServiceHost and the Service Model Layer
The service model layer is responsible for pulling incoming messages out of the underlying channels, translating them into method invocations in application code, and sending the results back to the caller. Service model extensions modify or implement execution or communication behavior and features involving client or dispatcher functionality, custom behaviors, message and parameter interception, and other extensibility functionality.
In This Section
- Extending Clients
- Describes the interfaces that can intercept and modify the client runtime, as well as the classes into which you can insert your custom extensions in client applications. For example, you can perform custom client message logging, perform custom message serialization, and so on.
- Extending Dispatchers
- Describes the interfaces that can intercept and modify the service runtime, as well as the classes into which you can insert your custom extensions in service applications. For example, you can perform custom service logging, service-side message validation, custom dispatching, and so on.
- Extensible Objects
- Describes the five extensible objects and the IExtensibleObject pattern. The extensible object pattern is used to either extend existing runtime classes with new functionality or to add new state to an object. Extensions, attached to one of the extensible objects, enable behaviors at very different stages in processing to access shared state and functionality attached to a common extensible object that they can access.
- Configuring and Extending the Runtime with Behaviors
- To change settings on or insert extensions in the WCF runtime, you use Behaviors. WCF includes system-implemented behaviors for controlling throttling, instancing, and many other aspects of services and operations. This section describes how to create your own custom behaviors and how to make them available for use both programmatically and using configuration files.
© 2007 Microsoft Corporation. All rights reserved.
Last Published: 2010-03-21