2012-07-06 34 views
6

Tôi có một dịch vụ được viết bằng C# dường như không bị xóa khi máy tính chuyển sang chế độ ngủ. Người dùng cần dừng thủ công và khởi động lại dịch vụ để duy trì chức năng. Tôi biết vấn đề là gì nhưng tôi không chắc chắn nên khắc phục vấn đề ở đâu. Dịch vụ Windows hoạt động như thế nào khi đi vào/ra khỏi giấc ngủ và ngủ đông?Dịch vụ Windows hoạt động như thế nào khi vào/thức dậy từ chế độ ngủ hoặc ngủ đông?

Trả lời

8

Dịch vụ phản ứng như thế nào với các sự kiện quyền lực? Thực sự, tùy thuộc vào.

Trong dịch vụ của bạn, bạn có thể xử lý các hibernate/đình chỉ/etc sự kiện bằng cách xử lý nó trong dịch vụ của bạn

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

Đừng quên rằng 'ServiceBase.CanHandlePowerEvent' có là đúng theo thứ tự cho' OnPowerEvent 'được gọi. –

+0

Tuyệt vời, tôi không biết về trình xử lý OnPowerEvent. Điều này cũng có thể khắc phục một số vấn đề khác mà chúng tôi đã gặp phải với dịch vụ cũng như liên quan đến việc tắt nguồn. –

+0

Hành vi mặc định là gì nếu tôi không ghi đè phương pháp này? –

Các vấn đề liên quan