gpt4 book ai didi

c# - 服务运行然后死亡

转载 作者:太空宇宙 更新时间:2023-11-03 22:13:05 27 4
gpt4 key购买 nike

我正在运行 Win 7 Pro 64 位。我使用 .NET 4 框架在 C# 中编写了一个服务。它安装正确并开始运行。我知道它运行是因为它将一些输出写入日志文件。然而,几秒钟后它就死了。当我使用 Visual Studio 2010 Pro 运行相同的代码而不是作为服务运行时,它永远不会死。所以,我的明显问题是关于调试它的适当方法,因为我无法弄清楚为什么它应该作为服务而不是作为非服务而死。我已经在代码的几个地方写入日志文件,但它似乎每次都死在不同的地方。该应用程序有 3 个线程。欢迎提出任何建议。

最佳答案

如果您直接从服务的启动方法中运行代码,则很容易发生这种行为。问题在于服务的 Start 方法应该启动服务并立即返回。如果它坐在那里执行代码,Windows 将终止您的服务。

处理此问题的正确方法是让服务的 Start() 方法在专用线程中运行您的代码。除了线程创建和立即返回之外,它实际上不需要任何东西。如果这是问题所在,只需设置一个前台线程并将您的逻辑放在那里,它可能会正常工作。

关于c# - 服务运行然后死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5971765/

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