Remoting的两个疑问。

1. 在客户端访问远程对象用RemotingConfiguration.Configuration和New来实例化时,得到的应该不是远程对象实例,而是本地对象实例吧(因而只能用Activator.GetObject)?
    理由:当我并没有启动远程对象时,客户端并没有报错,而且调用的方法分明是运行在本地。如Console.WriteLine("xx")。

2. 在注册委托方法到远程对象的事件时,必须是具体类的方法,而不能只是接口的声明(同时也要把具体类程序集放到远程对象能访问的地方)?
    理由:
            IServer server = (IServer)Activator.GetObject(
                
typeof(IServer),
                
"http://localhost:555/Server/Server.soap");
            
            User user 
= (User)Activator.GetObject(
                
typeof(User),
                
"http://localhost:666/User/User.soap");
            
            server.Broadcast 
+= new BroadcastEventHandler(user.ReceiveMessage);            
            server.NewUser(
"diego");
            server.Broadcast 
-= new BroadcastEventHandler(user.ReceiveMessage);
                        
            
/*
             * // 以下代码有问题,提示不能绑定方法。
            IUser user = (IUser)Activator.GetObject(
                typeof(IUser),
                "
http://localhost:666/User/User.soap");
            
            server.Broadcast += new BroadcastEventHandler(user.ReceiveMessage);            
            server.NewUser("diego");
            server.Broadcast -= new BroadcastEventHandler(user.ReceiveMessage);
            
*/
希望能有人解答一下。
posted on 2006-04-25 17:04  Diego  阅读(688)  评论(3编辑  收藏  举报