据lovecherry的一步一步学Remoting序列文章学习.net Remoting日记(3)

  本文是根据一步一步学Remoting之六:事件(1),这篇文章进行学习得到的经验,原文章地址:http://www.cnblogs.com/lovecherry/archive/2005/05/23/160778.html,当然附上调试源码:一步一步学Remoting之六:事件(1)

  该篇文章使用的是在程序中进行注册通道,而非前几章的在app.config中注册通道。相对而言,确实在app.config中很简介易懂,而且在今后维护的时候,容易修改,非常方便。

值得注意的是在本文中,要想获得在远程触发本地事件,得到本地的程序集,需要在MyObject类库中声明一个事件中间键。该中间键继承于MarshalByRefObject类(msdn解释为:允许在支持远程处理的应用程序中跨应用程序域边界访问对象)。

代码
public class EventClass:MarshalByRefObject
{
public void MyEvent(object sender,MyEventArgs e)
{
Console.WriteLine(
"来自"+e.IP+"的异步方法完成了"+e.Rate*10+"%");
}
}

  本文中注册通道的时候还可能会发生找不到System.Runtime.Remoting.Channels.Tcp引用的情况。在这种情况下,针对客户端以及服务器端的解决方案管理器“引用”右键,“添加引用”,在“.net”选项卡中找到“System.Runtime.Remoting”,然后“确定”即可。

 

  

posted @ 2010-06-22 01:58  .NET架构  阅读(469)  评论(0编辑  收藏  举报