ServiceController.ExecuteCommand(Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 sinalizador de comando definido pelo aplicativo que indica qual comando personalizado deve ser executado. O valor deve estar entre 128 e 256, inclusive.
Exceções
Ocorreu um erro ao acessar uma API do sistema.
O serviço não foi encontrado.
Exemplos
O exemplo de código a seguir mostra o uso do ServiceController.ExecuteCommand(Int32) método para executar comandos personalizados no exemplo de SimpleService
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
Comentários
Quando você chama ExecuteCommand, o status do serviço não é alterado. Se o serviço tiver sido iniciado, o status permanecerá Running
. Se o serviço tiver sido interrompido, o status permanecerá Stopped
e assim por diante. Para processar o comando personalizado, o serviço deve substituir o OnCustomCommand método e fornecer um manipulador para o comando identificado pelo command
parâmetro .