У меня служба Windows написана на C #. Он запускает два потока, один - пул веб-службы, второй - ожидание на объекте Monitor для поступления нового задания. Кроме того, основной поток выступает в качестве хоста службы WCF, используя NetNamedPipeBinding
. Это позволяет клиентскому приложению зарегистрировать обратный вызов, а затем отправляет уведомления обратно.
Проблема, с которой я столкнулся, заключается в том, что, когда эта служба Windows работает, я не могу перевести компьютер в ждущий или ждущий режим с Windows XP, SP3. Когда я устанавливаю Windows в спящий или ждущий режим, ничего не происходит. Затем, в тот момент, когда я захожу в Service Manager и останавливаю службу, системный спящий режим запускается немедленно.
Класс обслуживания, расширяющий ServiceBase
, имеет такие свойства, как CanHandlePowerEvent, CanPauseAndContinue и т. Д., Установленный в значение true ... Это не имеет значения.
Вопрос в том, что может блокировать переход в спящий режим / режим ожидания. О чем мне следует позаботиться, чтобы этого избежать?