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 .