Implement the IInstanceContextProvider interface to provide the appropriate System.ServiceModel..::.InstanceContext object to the system. Typically, this interface is implemented to support shared sessions, enable service instance pooling, control lifetimes of service instances, or to group contexts among clients.
For example, to implement sharing, insert a custom IInstanceContextProvider to decide which session or call from a client is associated with which InstanceContext object. For an example that demonstrates the sharing of instance contexts, see InstanceContextSharing.
A more generic mechanism by which you can initialize InstanceContext objects when created (for example, to attach custom extensions to each InstanceContext) is the System.ServiceModel.Dispatcher..::.IInstanceContextInitializer.