无法使用服务库启动调试会话
本文关键字:启动 调试 会话 服务 | 更新日期: 2023-09-27 18:34:15
我尝试使用ServiceProcess.ServiceBase调试Windows服务,而不是在本地安装服务。 我的项目中有一个小型控制台应用程序,其方法如下
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyProcessorService()
};
ServiceBase.Run(ServicesToRun);
}
这个项目是解决方案的一部分,所以我将这个项目设置为启动,设置了一些断点并按 F5,但我仍然收到关于无法调试服务的消息......"无法从命令行或调试器启动服务...."
我错过了什么?
不能在交互式上下文中启动服务(除非服务用户有权这样做)。
if (Environment.UserInteractive)
{
//Instantiate service object and call a method to start the service manually here...
}
else
{
//Normal ServiceBase.Run goes here....
}
ServiceBase
派生类上的手动启动方法通常如下所示:
internal void TestStartupAndStop(string[] args)
{
this.OnStart(args);
Console.ReadLine();
this.OnStop();
}