Gewusst wie: Ausführen von Verwaltungsaufgaben für Dienste

Aktualisiert: November 2007

Für einen Dienst können eine Reihe von Standardverwaltungsaufgaben durchgeführt werden. Dazu gehören das Starten, Beenden, Anhalten und Fortsetzen des Dienstes. Sie haben zwei Möglichkeiten zum Ausführen dieser Aufgaben: Sie können den Befehl Dienst-Manager starten im Server-Explorer/Datenbank-Explorer verwenden, oder Sie rufen Methoden in einer ServiceController-Komponenteninstanz auf, die mit einem vorhandenen Dienst verbunden wurde.

Im Allgemeinen wird von Autoren von Diensten Code geschrieben, durch den die Aktionen angepasst werden, die mit einer bestimmten Aufgabe verknüpft sind. Ein Dienst kann z. B. Code enthalten, damit auf einen OnPause-Befehl reagiert wird. In diesem Fall wird die benutzerdefinierte Verarbeitung für das Anhalten ausgeführt, bevor der Dienst angehalten wird. Informationen über das Definieren der Funktionsweise von Diensten finden Sie unter Gewusst wie: Erstellen von Windows-Diensten.

Welche Aufgaben für einen bestimmten Dienst verfügbar sind, hängt von seinen Eigenschaften ab. Die CanStop-Eigenschaft für einen Dienst kann z. B. auf false festgelegt werden. Dies bewirkt, dass der Befehl Beenden für diesen bestimmten Dienst nicht mehr verfügbar ist. Wenn versucht wird, den Dienst programmgesteuert zu beenden, wird vom System ein Fehler ausgelöst: "Der Dienst ServiceName kann nicht beendet werden".

Hinweis:

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So führen Sie eine Verwaltungsaufgabe im Server-Explorer/Datenbank-Explorer durch

  1. Wenn der Server, auf dem Sie die Aufgabe durchführen möchten, im Server-Explorer/Datenbank-Explorer noch nicht aufgeführt ist, fügen Sie ihn hinzu. Weitere Informationen hierzu finden Sie unter Gewusst wie: Zugreifen auf und Initialisieren von Server-Explorer/Datenbank-Explorer.

  2. Klicken Sie zum Öffnen der Verwaltungskonsole und zum Zugreifen auf einzelne Dienstoptionen mit der rechten Maustaste auf den Knoten Dienste, und klicken Sie auf Dienst-Manager starten.

So führen Sie eine Verwaltungsaufgabe programmgesteuert durch

  1. Erstellen Sie eine Instanz der ServiceController-Klasse, und konfigurieren Sie sie so, dass Daten mit dem Dienst ausgetauscht werden können. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Instanzen von ServiceController-Komponenten.

  2. Rufen Sie die entsprechende Methode zum Starten, Beenden, Anhalten oder Fortsetzen des Dienstes auf.

    Tipp:

    Die entsprechenden Eigenschaften könnten für jeden dieser Befehle abgefragt werden. Dadurch könnte ermittelt werden, ob ein Dienst auf eine Anfrage reagieren wird. Das bedeutet, dass eine bedingte Anweisung verwendet werden könnte, von der die CanStop-Eigenschaft für den Dienst abgefragt wird. Von dieser würde vor dem Aufrufen der Stop-Methode ermittelt, ob für die Eigenschaft true festgelegt worden ist.

    Im folgenden Beispiel wird gezeigt, wie vor dem Erteilen eines Befehls überprüft werden kann, ob er von einem Dienst akzeptiert wird.

    If myController.CanStop Then
        myController.Stop()
    End If
    
         if (myController.CanStop)
            {
                myController.Stop();
            }
    

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Instanzen von ServiceController-Komponenten

Gewusst wie: Abrufen von Listen von Diensten

Gewusst wie: Erstellen von Windows-Diensten

Konzepte

Einführung in die Kommunikation mit vorhandenen Diensten

Referenz

Gewusst wie: Zugreifen auf und Initialisieren von Server-Explorer/Datenbank-Explorer