By beuchelt on Jul 23, 2004
Some interesting differences between RMI and Remoting:
- The concept of mobile code in Remoting and RMI is somewhat different - while RMIClassLoader allows to obtain the code for a single class, the smallest unit of deployment in .NET (and this is not limited to Remoting or mobile code) is the assembly. So, if you want dynamically linkbyte code to a running CLR, you have to use Fusion and load the entire assembly. However, the System.Reflection (and System.Refelction.Emit) classes allow for good intraspection and assembly handling.
- There are no dynamic proxies in Remoting out of the box: While there have been some attempts to provide like functionality (see e.g. the Dynamic Proxy implementation for Apache Castle at http://cvs.apache.org/viewcvs.cgi/avalon-sandbox/avalon-net/DynamicProxy/) there is no whole hearted commitment (yet?) to support JDK 5.0 or even skeleton-like dynamic proxies 'out-of-the-box'.