请教关于.Net Remoting获取远程对象的问题,请高手指点,分不多了,见谅。。
//请看我下面的代码,问题在后面的释里面:   
 using   System; 
 using   System.Collections.Generic; 
 using   System.Text;   
 using   System.Runtime.Remoting; 
 using   System.Runtime.Remoting.Channels; 
 using   System.Runtime.Remoting.Channels.Tcp;   
 //定义远程对象 
 class   FriendListClass   :   MarshalByRefObject 
 { 
 	public   string[]   names=new   string[0]; 
 }   
 //服务端 
 class   ServerPoint 
 { 
 	static   void   Main(string[]   Args) 
 	{ 
 		//创建一个服务器端的实例   :   myFriends 
 		FriendListClass   myFriends=new   FriendListClass(); 
 		myFriends.names=new   string[2]; 
 		myFriends.names[0]= "Jim "; 
 		myFriends.names[0]= "Lucy "; 
 		//注册通道 
 		TcpChannel   c=new   TcpChannel(1357); 
 		ChannelServices.RegisterChannel(c); 
                         RemotingConfiguration.RegisterWellKnownServiceType( 
                                     typeof(FriendListClass),    "myURI ",   WellKnownObjectMode.Singleton); 
 		Console.ReadKey(); 
 	} 
 }   
 //客户端 
 class   ClientPoint 
 { 
 	static   void   Main(string[]   Args) 
 	{ 
 		//注册通道 
 		ChannelServices.RegisterChannel(new   TcpChannel()); 
 		FriendListClass   myClientFriends=(FriendListClass)Activator.GetObject( 
 			typeof(FriendListClass), "tcp://localhost:1357/myURI ");  		 
 		//这里是问题所在 
 		Console.WriteLine(myClientFriends.names.Length); 
 		//这里输出的是0,也就是说,客户端得到的,只是一个新的实例, 
 		//而不是服务器端已有的   myFriends   对象实例, 
 		//请问,如果我想得服务器端已经初始化,并且已赋值的对象实例,该如何做呢? 
                         //简单地说,就是这样,把服务器端对象成员的数据,显示到客户端上,比如 
                         foreach   (string   name   in   myClientFriends.names) 
                         { 
                                     Console.WriteLine( "a   Friend   called   {0} ",name); 
                         } 
 		Console.ReadKey(); 
 	} 
 }
------解决方案--------------------static void Main(string[] Args) 
 { 
 //创建一个服务器端的实例 : myFriends 
 FriendListClass myFriends=new FriendListClass(); 
 myFriends.names=new string[2]; 
 myFriends.names[0]= "Jim "; 
 myFriends.names[0]= "Lucy "; 
 //注册通道 
 TcpChannel c=new TcpChannel(1357);   
 //------------------ 用这一行注册对象 
 RemotingServices.Marshal(myFriends,  "myUri ", typeof(FriendListClass));   
 Console.ReadKey(); 
 }   
 ----------------------------------------- 
 http://pointlessly.blogspot.com