我作为Windows服务运行的C#程序阻止Windows XP进入休眠状态
作者:互联网
我有用C#编写的Windows服务.它启动了两个线程,一个线程正在池化Web服务,第二个线程正在等待Monitor对象以等待新任务到达.除此之外,主线程使用NetNamedPipeBinding作为WCF服务主机.它允许客户端应用程序注册回调,然后发送回通知.
我的问题是,当运行此Windows服务时,无法休眠或待机在Windows XP SP3上运行的计算机.当我将Windows设置为休眠或待机状态时,没有任何反应.然后,在我进入服务管理器并停止服务的那一刻,系统休眠立即开始.
扩展ServiceBase的服务类具有CanHandlePowerEvent,CanPauseAndContinue等属性,设置为true.
问题是:什么可以阻止休眠/待机进行?我应该注意避免这种情况?
解决方法:
您仅提到将CanHandlePowerEvent属性设置为true.我假设您还必须处理OnPowerEvent并在状态为QuerySuspend的情况下返回true,并且可能还会停止您正在执行的任何操作,尽管我不知道其详细信息.
此处有更多详细信息:
标签:windows-services,c,net,hibernation 来源: https://codeday.me/bug/20191024/1917726.html