ServiceController.ExecuteCommand(Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue un comando personalizzato sul servizio.
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. Il valore deve essere tra compreso tra 128 e 256, inclusi.
Eccezioni
Si è verificato un errore durante l'accesso a un'API di sistema.
Servizio non trovato.
Esempio
Nell'esempio ServiceController.ExecuteCommand(Int32) di codice seguente viene illustrato l'uso del metodo per eseguire comandi personalizzati nell'esempio di SimpleService
servizio.
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. Se il servizio è stato avviato, lo stato rimane Running
. Se il servizio è stato arrestato, lo stato rimane Stopped
e così via. Per elaborare il comando personalizzato, il servizio deve eseguire l'override OnCustomCommand del metodo e fornire un gestore per il comando identificato dal command
parametro .