public static void Main(){ RemotingConfiguration.Configure("Client.exe.config"); RemotableType type1 = new RemotableType(); type1.StringMethod();}
对应的IL为:
.method public hidebysig static void Main() cil managed{ .entrypoint // Code Size: 24 byte(s) .maxstack 1 .locals ( [RemotableType]RemotableType type1) L_0000: ldstr "Client.exe.config" L_0005: call void [mscorlib]System.Runtime.Remoting.RemotingConfiguration::Configure(string) L_000a: newobj instance void [RemotableType]RemotableType::.ctor() L_000f: stloc.0 L_0010: ldloc.0 L_0011: callvirt instance string [RemotableType]RemotableType::StringMethod() L_0016: pop L_0017: ret }newobj将会调用ActivationServices.IsCurrentContextOK()
callvirt将会调用RealProxy.PrivateInvoke()
关键词:一个容易的.net remoting客户端例子