In Java, using the RMI API, you can execute arbitrary code by sending it to a remote machine to execute. I'm aware something similar but not quite the same can be achieved in .NET using Remoting or WCF.
But from my experience, neither allows arbitrary code execution, the remote machine still needs a reference to the object, not just an interface. Is that correct?
I've gotten around it by having a DLL accessible in a shared location which is updated and the remote machine is able to use that in order to execute code. Is there a better way?
EDIT: http://www.cs.ucsb.edu/~cappello/lectures/rmi/helloworld.shtml In the link, the method call simply returns a string. This could be anything however and the client didn't have prior knowledge of the implementation of the method.