gpt4 book ai didi

c# - Windows 服务调试

转载 作者:行者123 更新时间:2023-11-30 18:22:31 24 4
gpt4 key购买 nike

如何调试 Windows 服务?我无法从 Visual Studio 中使用该服务 - 首先我需要使用 InstallUtil.exe 安装该服务,然后我可以从 Windows 服务管理工具 启动该服务。

目前,在从 Windows 服务管理工具 启动服务后,我正在从 Visual Studio 调试选项卡将我的解决方案附加到正在运行的进程。

是否有更方便的方法,或者是否有一种方法可以将服务配置为自行安装(当我从 IDE 运行项目时)?

最佳答案

也许有点作弊,但我使用了 pragma 来强制调试。

在 program.cs 的 Main 中,尝试添加如下内容:

#if DEBUG
YourService service = new YourService();
service.OnDebug();

// This prevents timeouts while debugging
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#else
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new YourService()
};
ServiceBase.Run(ServicesToRun);
#endif

然后,在您的 service.cs 文件中,添加以下内容:

public void OnDebug()
{
OnStart(null);
}

那只是欺骗了开始的召唤。当不处于 Debug模式时,它按正常方式执行。

关于c# - Windows 服务调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com