gpt4 book ai didi

c# - 服务无法启动,但确实启动了?

转载 作者:太空狗 更新时间:2023-10-29 21:41:40 24 4
gpt4 key购买 nike

我编写了一个小型 Windows 服务,希望每天在我的 Windows Server 2008 上运行。该服务是用 C# 编写的。

  • 该代码在正常情况下运行良好窗体。
  • 当我从“服务管理”窗口 (services.msc) 启动和停止服务时,该服务正常工作。

但是当在命令行上运行它时:

net start Service1

我得到以下信息:

The Service1 service is starting........  The Service1 service could not be started.

The service did not report an error.

More help is available by typing NET HELP:SG 3534.

但奇怪的是,该服务仍在运行,在“服务”屏幕中我仍然看到它正在启动,直到它完全启动。当我之后尝试停止服务时,我得到:

The service could not be controlled in its present state.

More help is available by typing NET HELPMSG 2189

然后服务停止。有什么办法可以解决这个问题吗?我已经设法毫无问题地调试服务,代码有效。但是在调试期间,同样的事情仍然会在命令控制台上发生,而我仍然能够进一步调试。

好像 onStart() 方法有某种超时。我不知道。我对 Windows 服务还很陌生(这是我的第一个服务)。我确实在 onStart() 方法中编写了我所有的代码,也许这不是最好的主意,但我不知道还有什么地方可以输入它。

如果有人能提供帮助,我将不胜感激。

最佳答案

OnStart 事件用于启动负责处理的后台线程。如果 OnStart 方法完成且没有错误,则服务管理器假定服务已成功启动。因此,OnStart 应该尽快返回。

然后使用 OnStop 方法停止后台处理。成功的 OnStop 告诉服务经理服务已无误关闭。

关于c# - 服务无法启动,但确实启动了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947106/

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