ServiceController.ExecuteCommand(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt einen benutzerdefinierten Befehl für den Dienst aus.
public:
void ExecuteCommand(int command);
public void ExecuteCommand (int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)
Parameter
- command
- Int32
Ein von der Anwendung definiertes Befehlsflag, das angibt, welcher benutzerdefinierte Befehl ausgeführt werden soll. Der Wert muss zwischen 128 und einschließlich 256 liegen.
Ausnahmen
Beim Zugreifen auf eine System-API ist ein Fehler aufgetreten.
Der Dienst wurde nicht gefunden.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der ServiceController.ExecuteCommand(Int32) Methode gezeigt, um benutzerdefinierte Befehle im SimpleService
Dienstbeispiel auszuführen.
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
Hinweise
Wenn Sie aufrufen ExecuteCommand, ändert sich der Status des Diensts nicht. Wenn der Dienst gestartet wurde, bleibt Running
der Status . Wenn der Dienst beendet wurde, bleibt Stopped
der Status und so weiter. Um den benutzerdefinierten Befehl zu verarbeiten, muss der Dienst die OnCustomCommand Methode außer Kraft setzen und einen Handler für den vom Parameter identifizierten command
Befehl bereitstellen.