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 .