.net – 调试Windows服务

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

谢谢.

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

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

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    private static void Main(string[] args)
    {
        if (args.Length > 0 && args[0] == "/form")
        {
            var form = new MainForm();
            Application.Run(form);
            return;
        }

        var servicesToRun = new ServiceBase[]
        {
            new BackgroundService()
        };

        ServiceBase.Run(servicesToRun);
    }
}

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

猜你在找的Windows相关文章