2012-07-06 8 views
6

Mam usługi napisane w języku C#, który nie wydaje się schodzić czysto, gdy komputer wchodzi w tryb uśpienia. Użytkownik musi ręcznie zatrzymać i ponownie uruchomić usługę, aby zachować funkcjonalność. Wiem, co to jest problem, ale nie jestem pewien, gdzie to naprawić. Jak zachowują się usługi Windows podczas wchodzenia/wychodzenia z trybu uśpienia i hibernacji?Jak zachowują się usługi Windows podczas wchodzenia/wychodzenia z trybu uśpienia lub hibernacji?

Odpowiedz

8

W jaki sposób usługi reagują na zdarzenia związane z zasilaniem? Rzeczywiście, to zależy od.

W usługi można obsługiwać hibernacji/wstrzymania/etc wydarzeń przez posługiwaniu się nim w usłudze

protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus) 
    { 
    //do stuff here 
    } 
+3

nie należy zapominać, że 'ServiceBase.CanHandlePowerEvent' musi być prawdziwe, aby' OnPowerEvent 'nazywać się. –

+0

Doskonały, nie byłem świadomy obsługi OnPowerEvent. Mogłoby to również rozwiązać kilka innych problemów, które mieliśmy z usługą, jeśli chodzi o wyłączanie zasilania. –

+0

Jakie jest domyślne zachowanie, jeśli nie zastępuję tej metody? –

Powiązane problemy