EventListener.cs
上传用户:jasonxu888
上传日期:2007-03-28
资源大小:4316k
文件大小:1k
源码类别:

.net编程

开发平台:

C#

  1. using System;
  2. using System.Runtime.Remoting;
  3. using General;
  4. using RemotingTools; // RemotingHelper
  5. namespace EventListener
  6. {
  7. class EventListener
  8. {
  9. static void Main(string[] args)
  10. {
  11. String filename = "eventlistener.exe.config";
  12. RemotingConfiguration.Configure(filename);
  13. IBroadcaster bcaster = 
  14. (IBroadcaster) RemotingHelper.GetObject(typeof(IBroadcaster));
  15. Console.WriteLine("Registering event at server");
  16. // callbacks can only work on MarshalByRefObjects, so 
  17. // I created a different class for this as well
  18. EventHandler eh = new EventHandler();
  19. bcaster.MessageArrived += 
  20. new MessageArrivedHandler(eh.HandleMessage);
  21. Console.WriteLine("Event registered. Waiting for messages.");
  22. Console.ReadLine();
  23. }
  24. }
  25. public class EventHandler: MarshalByRefObject {
  26. public void HandleMessage(String msg) {
  27. Console.WriteLine("Received: {0}",msg);
  28. }
  29. public override object InitializeLifetimeService() {
  30. // this object has to live "forever"
  31. return null;
  32. }
  33. }
  34. }