ServiceController.ExecuteCommand(Int32) Metodo

Definizione

Esegue un comando personalizzato sul servizio.Executes a custom command on the service.

public:
 void ExecuteCommand(int command);
public void ExecuteCommand (int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)

Parametri

command
Int32

Flag di comando definito dall'applicazione che indica quale comando personalizzato eseguire.An application-defined command flag that indicates which custom command to execute. Il valore deve essere tra compreso tra 128 e 256, inclusi.The value must be between 128 and 256, inclusive.

Eccezioni

Si è verificato un errore durante l'accesso a un'API di sistema.An error occurred when accessing a system API.

Servizio non trovato.The service was not found.

Esempi

Nell'esempio di codice seguente viene illustrato l'utilizzo ServiceController.ExecuteCommand(Int32) del metodo per eseguire comandi personalizzati SimpleService nell'esempio di servizio.The following code example shows the use of the ServiceController.ExecuteCommand(Int32) method to execute custom commands in the SimpleService service example.

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

Commenti

Quando si chiama ExecuteCommand, lo stato del servizio non cambia.When you call ExecuteCommand, the status of the service does not change. Se il servizio è stato avviato, lo stato Runningrimane.If the service was started, the status remains Running. Se il servizio è stato arrestato, lo stato Stoppedrimane e così via.If the service was stopped, the status remains Stopped, and so on. Per elaborare il comando personalizzato, il servizio deve eseguire l' OnCustomCommand override del metodo e fornire un gestore per il comando identificato command dal parametro.To process the custom command, the service must override the OnCustomCommand method and provide a handler for the command identified by the command parameter.

Sicurezza

ServiceControllerPermission
per il controllo dei servizi nel computer.for controlling services on the computer. Enumerazione associata:ControlAssociated enumeration: Control

SecurityPermission
per l'accesso illimitato alle informazioni sul servizio.for unrestricted access to service information. Enumerazione associata:UnrestrictedAssociated enumeration: Unrestricted

Si applica a

Vedi anche