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

C#编程

开发平台:

Others

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Diagnostics;
  6. using System.ServiceProcess;
  7. namespace Wrox.ProCSharp.WinServices
  8. {
  9. public class QuoteService : System.ServiceProcess.ServiceBase
  10. {
  11. /// <summary> 
  12. /// Required designer variable.
  13. /// </summary>
  14. private System.ComponentModel.Container components = null;
  15. private QuoteServer quoteServer;
  16. public QuoteService()
  17. {
  18. // This call is required by the Windows.Forms Component Designer.
  19. InitializeComponent();
  20. // TODO: Add any initialization after the InitComponent call
  21. }
  22. // The main entry point for the process
  23. static void Main()
  24. {
  25. // System.ServiceProcess.ServiceBase[] ServicesToRun;
  26. // More than one user Service may run within the same process. To add
  27. // another service to this process, change the following line to
  28. // create a second service object. For example,
  29. //
  30. //   ServicesToRun = new System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
  31. //
  32. // ServicesToRun = new System.ServiceProcess.ServiceBase[] { new QuoteService() };
  33. System.ServiceProcess.ServiceBase.Run(new QuoteService());
  34. }
  35. /// <summary> 
  36. /// Required method for Designer support - do not modify 
  37. /// the contents of this method with the code editor.
  38. /// </summary>
  39. private void InitializeComponent()
  40. {
  41. // 
  42. // QuoteService
  43. // 
  44. this.CanPauseAndContinue = true;
  45. this.ServiceName = "QuoteService";
  46. }
  47. /// <summary>
  48. /// Clean up any resources being used.
  49. /// </summary>
  50. protected override void Dispose( bool disposing )
  51. {
  52. if( disposing )
  53. {
  54. if (components != null) 
  55. {
  56. components.Dispose();
  57. }
  58. }
  59. base.Dispose( disposing );
  60. }
  61. /// <summary>
  62. /// Set things in motion so your service can do its work.
  63. /// </summary>
  64. protected override void OnStart(string[] args)
  65. {
  66. quoteServer = new QuoteServer(@"c:ProCSharpServicesquotes.txt", 
  67. 5678);
  68. quoteServer.Start();
  69. }
  70.  
  71. /// <summary>
  72. /// Stop this service.
  73. /// </summary>
  74. protected override void OnStop()
  75. {
  76. quoteServer.Stop();
  77. }
  78. protected override void OnPause()
  79. {
  80. quoteServer.Suspend();
  81. }
  82. protected override void OnContinue()
  83. {
  84. quoteServer.Resume();
  85. }
  86. protected override void OnShutdown()
  87. {
  88. OnStop();
  89. }
  90. public const int commandRefresh = 128;
  91. protected override void OnCustomCommand(int command)
  92. {
  93. switch (command)
  94. {
  95. case commandRefresh:
  96. quoteServer.RefreshQuotes();
  97. break;
  98. default:
  99. break;
  100. }
  101. }
  102. }
  103. }