該篇文章使用的是在程式中進行注冊通道,而非前幾章的在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”,然後“确定”即可。
<a target="_blank" href="http://blog.51cto.com/attachment/201203/232148513.jpg"></a>
本文轉自程興亮 51CTO部落格,原文連結:http://blog.51cto.com/chengxingliang/821202