Lately, a lot of people have been asking me about the surrogate selector sink I wrote a while ago for remoting.
Well, I cleaned it up a little and here it is.
What does it do? Well, it allows you to send objects using remoting that normally are not serializable. For example, XmlDocument is not serializable (anyone know why by the way???) and the sample does communicate with XmlDocument on the wire. You can also use this to for example have the client send one kind of object and the server deserializing it as another object (think versioning here !!!!).
This is a sample, it does not cover all kinds of scenarios, and certainly does not come with any guarantee :)
Another thing, the sample is provided as VS2005 code, but will work perfectly on VS2002 and VS2003 if you go throught the trouble of re-creating the projects. Have fun, and let me know what you think of the sample.