Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
ServiceController.ExecuteCommand-Methode
Führt einen benutzerdefinierten Befehl für den Dienst aus.
Assembly: System.ServiceProcess (in System.ServiceProcess.dll)
| Ausnahme | Bedingung |
|---|---|
| Win32Exception |
Fehler beim Zugriff auf eine System-API. |
| InvalidOperationException |
Der Dienst wurde nicht gefunden. |
Beim Aufruf von ExecuteCommand wird der Status des Dienstes nicht geändert. Wenn der Dienst gestartet wurde, bleibt der Status Running. Wenn der Dienst beendet wurde, bleibt der Status Stopped usw. Um den benutzerdefinierten Befehl zu verarbeiten, muss der Dienst die OnCustomCommand-Methode überschreiben und einen Handler für den durch den command-Parameter angegebenen Befehl bereitstellen.
Im folgenden Codebeispiel wird veranschaulicht, wie die ServiceController.ExecuteCommand(Int32)-Methode zum Ausführen von benutzerdefinierten Befehlen im SimpleService-Dienstbeispiel verwendet wird. Den Beispielcode für den SimpleService-Dienst finden Sie unter der ServiceBase-Klasse.
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); } } }
-
ServiceControllerPermission
für das Steuern von Diensten auf dem Computer. Zugeordnete Enumeration: ServiceControllerPermissionAccess.Control
-
SecurityPermission
für uneingeschränkten Zugriff auf Dienstinformationen. Zugeordnete Enumeration: PermissionState.Unrestricted
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.