There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Provide API to retrieve wrapped services
The tracing layer wraps a trace-aware object around major services and formatters. Apps that need to downcast a service or formatter need a way to ask for the inner object instance.
I recommend we design for a general purpose wrapping API, not just tracing. Consider something like IWrappable<T> and Wrappable.Unwrap<T>(object). Make trace wrappers implement this and make MediaTypeFormatterCollection aware to use it.
Also fix OData code to use this when asking for the model from the ODataMediaTypeFormatter.