How to customize the process employed by WCF when serializing contract method arguments?

Posted by mark on Stack Overflow See other posts from Stack Overflow or by mark
Published on 2010-06-13T03:31:02Z Indexed on 2010/06/13 3:32 UTC
Read the original article Hit count: 221

Filed under:
|

Dear ladies and sirs.

I would like to formulate a contrived scenario, which nevertheless has firm actual basis. Imagine a collection type COuter, which is a wrapper around an instance of another collection type CInner. Both implement IList (never mind the T).

Furthermore, a COuter instance is buried inside some object graph, the root of which (let us refer to it as R) is returned from a WCF service method.

My question is how can I customize the WCF serialization process, so that when R is returned, the request to serialize the COuter instance will be routed through my code, which will extract CInner and pass it to the serializer instead. Thus the receiving end still gets R, only no COuter instance is found in the object graph.

I hoped that http://stackoverflow.com/questions/2220516/how-does-wcf-serialize-the-method-call will contain the answer, unfortunately the article mentioned there (http://msdn.microsoft.com/en-us/magazine/cc163569.aspx) only barely mentions that advanced serialization scenarios are possible using IDataContractSurrogate interface, but no details are given. I am, on the other hand, would really like to see a working example.

Thank you very much in advance.

© Stack Overflow or respective owner

Related posts about wcf

Related posts about serialization