C# Windows服务实际何时启动?
我问这个问题是因为我的C#项目有问题。 为了解决这个问题,我知道重新设计我的代码就足够了,但如果Windows服务不能按照我认为的方式启动,那么我需要做更多的思考 所以我需要回答这个问题 Windows服务什么时候启动,或者这是开发人员可以选择的,如果是,我可以在代码中的什么地方启动 更多信息:C# Windows服务实际何时启动?,c#,windows-services,C#,Windows Services,我问这个问题是因为我的C#项目有问题。 为了解决这个问题,我知道重新设计我的代码就足够了,但如果Windows服务不能按照我认为的方式启动,那么我需要做更多的思考 所以我需要回答这个问题 Windows服务什么时候启动,或者这是开发人员可以选择的,如果是,我可以在代码中的什么地方启动 更多信息: 我知道有延迟启动。。。但它并不那么可靠,有了它,我的服务有时会正确启动,而在其他情况下则不会。因为它依赖VirtualBox或HD进行设置 我尝试在服务启动时使用一个单独的线程来给系统时间来解决问题,
- 我知道有延迟启动。。。但它并不那么可靠,有了它,我的服务有时会正确启动,而在其他情况下则不会。因为它依赖VirtualBox或HD进行设置
- 我尝试在服务启动时使用一个单独的线程来给系统时间来解决问题,这在最初解决了问题,但在进一步测试后意识到,如果用户想要停止我的服务,它将成为一个问题,因为线程仍将处于活动状态。并创建了一个bug
或者,更手动地,您可以在Start()方法中等待磁盘上发生的事情。例如,如果您正在等待创建文件,请查看该文件,并在创建文件时通知您。如果设置了windows启动,则在手动启动服务时,您可以使用ServiceController在代码中或在服务的windows中执行此操作。msc管理单元控制台提示:在系统启动时自动启动。不久之后,由于启动延迟。如果你想了解更多细节,你能扩展你的问题吗?你遇到了什么问题?我理解这一点,也知道你提到的那些建议,但windows startup到底是什么?用户登录后?或者在Windows登录屏幕上?@MichaelPetrotta更新了更多信息。服务可以在登录屏幕出现之前启动,也可以在用户登录后继续。看(有点老了,是的)。谢谢,我明白了。这是有道理的。然而,我假设我已经安装了VirtualBox。如果我的最终用户还没有安装VirtualBox,他们先安装我的软件(我的服务),然后重新启动,让服务启动并尝试查找VirtualBox以完成安装,会发生什么情况?我相信您的服务将无法启动。这是合乎逻辑的部分。我想知道这是否会影响创业。但你绝对是对的。谢谢让我试试这个解决办法。