RemoteObject.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:1k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. namespace Wrox.ProCSharp.Remoting
  3. {
  4. [Serializable]
  5. public class StatusEventArgs
  6. {
  7. public StatusEventArgs(string m)
  8. {
  9. message = m;
  10. }
  11. public string Message
  12. {
  13. get
  14. {
  15. return message;
  16. }
  17. set
  18. {
  19. message = value;
  20. }
  21. }
  22. private string message;
  23. }
  24. public delegate void StatusEvent(object sender, StatusEventArgs e);
  25. public class RemoteObject : System.MarshalByRefObject
  26. {
  27. public RemoteObject()
  28. {
  29. Console.WriteLine("RemoteObject Constructor called");
  30. }
  31. public event StatusEvent Status;
  32. public void LongWorking(int ms)
  33. {
  34. Console.WriteLine("RemoteObject: LongWorking() Started");
  35. StatusEventArgs e = new StatusEventArgs(
  36. "Message for Client: LongWorking() Started");
  37. // fire event
  38. if (Status != null)
  39. {
  40. Console.WriteLine("RemoteObject: Firing Starting Event");
  41. Status(this, e);
  42. }
  43. System.Threading.Thread.Sleep(ms);
  44. e.Message = "Message for Client: LongWorking() Ending";
  45. // fire ending event
  46. if (Status != null)
  47. {
  48. Console.WriteLine("RemoteObject: Firing Ending Event");
  49. Status(this, e);
  50. }
  51. Console.WriteLine("RemoteObject: LongWorking() Ending");
  52. }
  53. }
  54. }