.net – 调试Windows服务

前端之家收集整理的这篇文章主要介绍了.net – 调试Windows服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经创建了一个Windows服务并手动安装它.后来从服务工具启动了该服务.现在我想从Visual Studio IDE中删除Windows服务应用程序.
当我尝试从IDE中的“调试”选项卡附加进程时,Windows服务进程将显示在列表中,但不突出显示要附加.
是否有任何其他主要过程我应该附加到调试服务应用程序.
发布任何相关信息表示赞赏.

谢谢.

这并没有回答确切的问题,但是对于它的价值,我发现开发和调试Windows服务的最简单方法是将所有逻辑放入类库中,然后从Windows服务调用逻辑(在生产中)或从常规窗体形式(在开发期间). Windows窗体将具有“开始”和“停止”按钮,该按钮将模拟服务的启动和停止行为.

为了便于在两种模式之间切换,我只使用命令行参数并在Main方法中处理它,如下所示:

  1. static class Program
  2. {
  3. /// <summary>
  4. /// The main entry point for the application.
  5. /// </summary>
  6. private static void Main(string[] args)
  7. {
  8. if (args.Length > 0 && args[0] == "/form")
  9. {
  10. var form = new MainForm();
  11. Application.Run(form);
  12. return;
  13. }
  14.  
  15. var servicesToRun = new ServiceBase[]
  16. {
  17. new BackgroundService()
  18. };
  19.  
  20. ServiceBase.Run(servicesToRun);
  21. }
  22. }

然后在Visual Studio项目属性的“命令行参数”字段中,您只需添加“/ form”参数,它将始终在本地调试时弹出窗体.这样您就不必担心附加到进程或类似的任何内容.你只需像往常一样单击Debug,你就可以了.

猜你在找的Windows相关文章