我有用 C# 编写的 Windows 服务。它启动两个线程,一个是池化 Web 服务,第二个是在 Monitor 对象上等待新作业的到来。除此之外,主线程还充当 WCF 服务主机,使用NetNamedPipeBinding
. 它允许客户端应用程序注册回调,然后发回通知。
我遇到的问题是,当此 Windows 服务运行时,我无法休眠或待机运行在 Windows XP、SP3 上的计算机。当我将 Windows 设置为休眠或待机时,没有任何反应。然后,当我去服务管理器并停止服务的那一刻,系统休眠立即开始。
扩展的服务类ServiceBase
具有 CanHandlePowerEvent、CanPauseAndContinue 等属性设置为 true ......这没有任何区别。
问题是:什么会阻止休眠/待机继续进行?我应该注意什么来避免它?