ServiceController.ExecuteCommand(Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Executa um comando personalizado no serviço.
public:
void ExecuteCommand(int command);
public void ExecuteCommand(int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)
Parâmetros
- command
- Int32
Um flag de comando definido pela aplicação que indica qual comando personalizado executar. O valor deve estar entre 128 e 256, inclusive.
Exceções
Ocorreu um erro ao aceder a uma API do sistema.
O serviço não foi encontrado.
Exemplos
O exemplo de código seguinte mostra a utilização do ServiceController.ExecuteCommand(Int32) método para executar comandos personalizados no SimpleService exemplo do serviço.
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
Observações
Quando liga ExecuteCommand, o estado do serviço não muda. Se o serviço foi iniciado, o estado mantém-se Running. Se o serviço foi interrompido, o estado mantém-se Stopped, e assim sucessivamente. Para processar o comando personalizado, o serviço deve sobrescrever o OnCustomCommand método e fornecer um handler para o comando identificado pelo command parâmetro.