我正在查看 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/