WindowsサービスをC#で記述しています。2つのスレッドを開始します。1つはWebサービスをプールし、もう1つは新しいジョブが到着するのをMonitorオブジェクトで待機します。その上、メインスレッドはを使用してWCFサービスホストとして機能しNetNamedPipeBinding
ます。これにより、クライアントアプリケーションはコールバックを登録し、通知を送り返すことができます。
私が抱えている問題は、このWindowsサービスが実行されているときに、Windows XP、SP3で実行されているコンピューターを休止状態またはスタンバイにできないことです。Windowsを休止状態またはスタンバイに設定しても、何も起こりません。その後、Service Managerに移動してサービスを停止すると、すぐにシステムの休止状態が始まります。
を拡張するサービスクラスにはServiceBase
、CanHandlePowerEvent、CanPauseAndContinueなどのプロパティがtrueに設定されています...それは何の違いもありませんでした。
問題は、ハイバネーション/スタンバイの進行を妨げるものは何でしょうか。それを避けるために何に注意する必要がありますか?