我确信这是一个非常常见的案例,但我在 MSDN 上找不到太多关于它的信息。
假设我有一个正在执行事务的服务,当我收到停止请求时,我想确保在实际进程终止之前我已经完成了当前事务。
我知道 Windows 似乎有一个“停止”状态,但我不确定如何从 ServiceBase.OnStop 方法控制它。
一旦我注册了停止请求,我是否应该从 OnStop 返回?如果是这样,我如何指示我何时真正完成?
或者我应该阻止并且在当前事务完成之前不从 OnStop 返回?(即在调用 OnStop 和 OnStop 返回之间,windows 会自动将服务置于“停止”状态)