First
off, in case you, like me, didn’t know this: in 2.0 the SOAP formatter (the
default formatter if you’re using an HTTP channel) does not support serializing
generic objects. Luckily, once you figure that out, it’s trivial to switch to
the binary formatter. Also, if you’re planning on using SoapSuds, it apparently
also doesn’t like generics. I didn’t look to deep into this, so I may have been
doing something wrong.
Second,
transparent proxies are the evil doppelgangers of the remoting world, willing
and able to masquerade as anything and everything, just to make your life more
difficult. For example, within NHibernate’s session implementation,
if
(maybeProxy is INHibernateProxy)
will
apparently always evaluate to true. This can be
remedied by changing it to:
if
(maybeProxy.GetType().GetInterface(“INHibernateProxy”) != null)
I
just know this is going to bite me in the ass later, but it solved the
immediate problem.