加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 调试Windows服务

发布时间:2020-12-13 20:39:25 所属栏目:Windows 来源:网络整理
导读:我已经创建了一个Windows服务并手动安装它.后来从服务工具启动了该服务.现在我想从Visual Studio IDE中删除Windows服务应用程序. 当我尝试从IDE中的“调试”选项卡附加进程时,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,你就可以了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读