如果机器进入睡眠状态,我的第三方服务无法正常运行。因此我想在机器进入睡眠状态之前停止服务。为此,我创建了一个C#Windows Service
来监听ServiceBase.OnPowerEvent
事件并关闭第三方服务。
问题是该服务需要大约5-6秒才能关闭。睡眠事件来了,我开始关闭第三方服务。但是,在我完成处理之前,机器会进入睡眠状态。
我也尝试使用Win32_PowerManagementEvent
类作为替代方法,并且也不等待客户端处理完成。
有没有办法让系统在进入睡眠状态之前等待我的处理完成?