From: hammett <ha...@uo...> - 2004-11-11 21:08:29
|
Then yes, we are on the same page :-) Your AvalonProxyDeserializer is a simplified version of ours: http://svn.digitalcraftsmen.com.br/svn/castle/trunk/Tools/DynamicProxy/DynamicProxy/Serialization/ProxyObjectReference.cs The only difference I've notice (although I havent checked it carefully) is that you provide a hook allowing subclasses to add entries to SerializationInfo. This is not possible in DynProxy as it is. However, if the class being proxy exposes a virtual GetObjectData, it will be (correctly) invoked. My suggestion is: move all information necessary to the implementation of IInterceptor (that's what we have done to Aspect#, so when a class with aspect is deserialized, the interceptor has all information about the pointcuts and advices it needs) http://cvs.sourceforge.net/viewcvs.py/aspectsharp/AspectSharp2/src/AspectSharp/Core/Dispatcher/DefaultInvocationDispatcher.cs?rev=1.4&view=auto -- Cheers, hammett http://www.digitalcraftsmen.com.br/~hammett ----- Original Message ----- From: "Mike Doerfler" <mik...@gm...> To: <asp...@li...> Sent: Thursday, November 11, 2004 12:39 PM Subject: Re: [Aspectsharp-users] Implementation of GetObjectData > This is the base class where most of the proxy work is handled. The > method Invoke at the bottom contains the logic. > > http://cvs.sourceforge.net/viewcvs.py/nhibernate/nhibernate/src/NHibernate/Proxy/LazyInitializer.cs?rev=1.1.2.5&only_with_tag=alpha_avalon-proxy&view=auto > > > Here's the class the proxy used to get serialized as and deserialized > from. > > http://cvs.sourceforge.net/viewcvs.py/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/AvalonProxyDeserializer.cs?rev=1.1.2.2&only_with_tag=alpha_avalon-proxy&view=auto > > Thanks for such as fast response! |