System.ServiceModel 4.0.0.0 Implement the interface to modify, examine, or extend some aspect of endpoint-wide execution at the application level for either client or service applications. Use the method to pass custom data at runtime to enable bindings to support custom behavior. Use the method to modify, examine, or insert extensions to an endpoint in a client application. Use the method to modify, examine, or insert extensions to endpoint-wide execution in a service application. Use the method to confirm that a meets specific requirements. This can be used to ensure that an endpoint has a certain configuration setting enabled, supports a particular feature and other requirements. objects can make use of any of these methods, but often only one is important; in such cases, the unused methods can return, performing no action. All of the methods pass a object as a parameter. This parameter is for examination only; if you modify the object the execution behavior is undefined. objects are typically used to access the various properties of the , , , and objects in a service application and the and in a client application. In addition, you can access the properties of duplex clients and services using the and properties, respectively. For a description of the various properties and customizations available, see Extending ServiceHost and the Dispatcher. Once a customization has been decided upon (and the customization interface implemented if necessary) and the has been decided is the appropriate scope of customization, the customization must be inserted into the indigo1 runtime by implementing and adding the endpoint behavior to the runtime. There are two ways to add the behavior to the runtime: Programmatically add the custom endpoint behavior to the property prior to the opening of the service host (in a service application) or the channel factory (in a client application). Configure the behavior using an application configuration file. For details, see <behaviorExtensions>. To perform the service customization task for which it is intended, the object must be added to the property prior to the construction of the service runtime, which occurs when method is called on . To perform a client customization task, the object must be added to the property before calling the method or the method on . Implements methods that can be used to extend run-time behavior for an endpoint in either a service or client application. Method 4.0.0.0 System.Void To be added. Implement the method to provide binding elements with the extra objects they require to support the endpoint behavior. When binding parameters are added here the binding can locate these objects when the channel listener or channel factory is created. Typically, you implement the method to pass information about the endpoint to a custom binding element so that it can build a supporting channel correctly. Return no value if no modifications are required. Implement to pass data at runtime to bindings to support custom behavior. The endpoint to modify. Method 4.0.0.0 System.Void To be added. To be added. Implement the method to view, modify, or add custom extension to the client runtime across all messages used with an endpoint or for specific operations. For details about what customizations you can do with a client run-time object, see and . It is recommended that the method throw a if the behavior is only intended for use in a service application. Because other behaviors may have already added or removed some operations from the runtime there is no guarantee that there are the same number of operations in the description as there are objects in the property. Implements a modification or extension of the client across an endpoint. Method 4.0.0.0 System.Void To be added. To be added. Implement the method to view, modify, or extend the service runtime across all messages or for specific operations in an endpoint. For details about what customizations you can do in a service application, see and . It is recommended that the method throw a exception if the behavior is only intended for use in a client application. Note that there can be two operations with the same name in the description when using a callback contract (one operation in each direction). If you are iterating through operations, you must correlate the message direction between the endpoint and what is returned by the property. In addition, because other behaviors may have already added or removed some operations from the runtime, there is no guarantee that there are the same number of operations in description as there are objects in the property. Implements a modification or extension of the service across an endpoint. Method 4.0.0.0 System.Void To be added. Implement the method to examine the structure to confirm any set of criteria. It is not necessary to perform any customizations in or to make use of this method. If the endpoint passes validation, return; otherwise, throw an exception. For example, the method can be use to ensure that all endpoints use an approved corporate binding. Implement to confirm that the endpoint meets some intended criteria.