c# - 我必须在 Windows 服务中实现 Stop 方法吗?

标签 c# .net windows-services

我正在查看 Windows 服务形式的一些遗留代码。

我注意到在他们的 OnStop() 方法中,他们只是写入事件日志,但是没有对象清理或终止任何线程的控制。有 2 个后台线程在服务启动时启动,所以我想知道,这个服务真的停止了吗?而且,如果是这样,线程是否正确关闭?

停止方法是物理终止进程还是只是一个逻辑停止,如果不执行它实际上不会做任何事情?

最佳答案

OnStop()服务停止时调用方法,您可以在此处清除对象并停止线程等。如果您的线程在服务停止时不需要做任何特别的事情,那么您可以离开 OnStop 方法

OnStop is expected to be overridden in the derived class. For the service to be useful, OnStart and OnStop should both be implemented in your service class, msdn

关于c# - 我必须在 Windows 服务中实现 Stop 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651165/

相关文章:

c# - Entity Framework 中的 NoLock

.net - 在构建服务器上运行 Moles - 有什么想法可以跳过代码生成吗?

c# - Windows 服务 SQL Server 错误 - "Login failed for user"

c# - Debug.WriteLine() 未命中

tomcat - 多个实例 Tomcat 作为 Windows 服务

c# - Windows 商店应用程序 - 显示 PDF

c# - 关于构建操作的澄清

.net - 如何区分 WIX 中的正常安装和升级?

c# - 低效的 Entity Framework 查询

c# - 为 COM DLL 创建 .NET 包装器的工具?