ServiceController.ExecuteCommand(Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет пользовательскую команду для службы.
public:
void ExecuteCommand(int command);
public void ExecuteCommand (int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)
Параметры
- command
- Int32
Определяемый приложением флаг команды, показывающий, какая пользовательская команда должна быть выполнена. Значение должно находиться в диапазоне от 128 до 256 включительно.
Исключения
Произошла ошибка при обращении к API-интерфейсу системы.
Служба не была найдена.
Примеры
В следующем примере кода показано использование ServiceController.ExecuteCommand(Int32) метода для выполнения пользовательских команд в SimpleService
примере службы.
using System;
using System.ServiceProcess;
namespace test_exec_cmnd
{
class Program
{
private enum SimpleServiceCustomCommands { StopWorker = 128, RestartWorker, CheckWorker };
static void Main(string[] args)
{
ServiceController myService = new ServiceController("SimpleService");
myService.ExecuteCommand((int)SimpleServiceCustomCommands.StopWorker);
myService.ExecuteCommand((int)SimpleServiceCustomCommands.RestartWorker);
myService.ExecuteCommand((int)SimpleServiceCustomCommands.CheckWorker);
}
}
}
Imports System.ServiceProcess
Class Program
Private Enum SimpleServiceCustomCommands
StopWorker = 128
RestartWorker
CheckWorker '
End Enum 'SimpleServiceCustomCommands
Shared Sub Main(ByVal args() As String)
Dim myService As New ServiceController("SimpleService")
myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.StopWorker))
myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.RestartWorker))
myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.CheckWorker))
End Sub
End Class
Комментарии
При вызове ExecuteCommandсостояние службы не меняется. Если служба запущена, состояние остается Running
. Если служба остановлена, состояние остается Stopped
и т. д. Чтобы обработать пользовательскую команду, служба должна переопределить OnCustomCommand метод и предоставить обработчик для команды, определенной параметром command
.