Windows services Windows服务处于启动状态,无法使其处于运行状态

Windows services Windows服务处于启动状态,无法使其处于运行状态,windows-services,Windows Services,我用C#开发了一个windows服务。我遵循了一些现有的谷歌教程。在service.cs类中,构造函数仅持有InitializeComponent()方法。在OnStart()方法中,我编写了一些代码,使用TCPClient打开一个端口,通过tcp连接到其他客户端。在这个OnStart()方法中,我使用AcceptTcpClient()方法从客户机接收响应,然后转发到另一个类来处理客户机的响应并将其发送回客户机。我在ServiceInstaller和ServiceProcessInstaller

我用C#开发了一个windows服务。我遵循了一些现有的谷歌教程。在service.cs类中,构造函数仅持有InitializeComponent()方法。在OnStart()方法中,我编写了一些代码,使用TCPClient打开一个端口,通过tcp连接到其他客户端。在这个OnStart()方法中,我使用AcceptTcpClient()方法从客户机接收响应,然后转发到另一个类来处理客户机的响应并将其发送回客户机。我在ServiceInstaller和ServiceProcessInstaller中保持编码方式,并自动启动服务,添加名为AfterInstall和Committed的事件处理程序。当我安装服务时,在service.msc中,服务状态显示为启动,但服务正常工作。为什么状态未显示为运行状态?

如果代码完全在OnStart()中,您可能希望尝试将其移出;在OnStart()返回之前,服务状态可能不会更改为正在运行。你能把它重构成另一个线程吗?我不明白你的意思。OnStart是一个无效的方法。那么,返回什么呢。我只在OnStart()中编写基本的代码,比如:检查这个链接,这里的编码风格就是您需要从
OnStart
返回的是对运行它的线程的控制。这不是你的线。