Что ты хочешь сделать? Если у вас все в порядке с вашим сервисом, просто остановитесь, ничего не делайте. Вам не нужно обрабатывать его, чтобы фактически остановить службу - она позволяет вам что-то делать, когда служба получает уведомление о остановке от Windows.
В вашем классе, производном от ServiceBase
, вам необходимо переопределить метод OnStop
:
protected override void OnStop()
{}
Затем вы можете поместить свою логику, которая должна выполняться, когда служба останавливается там.
Обратите внимание, что Windows позволяет на короткое время остановить службу (около 30 секунд, я думаю) - после этого она сообщит, что служба не может остановиться. Это означает, что вы не можете делать что-либо слишком длинное в методе OnStop
. Обычно полезно регистрировать, что ваша служба получила событие остановки.