Gewusst wie: Starten von Diensten
Aktualisiert: November 2007
Nachdem ein Dienst installiert wurde, muss er gestartet werden. Beim Starten wird die OnStart-Methode für die Dienstklasse aufgerufen. In der Regel werden die Vorgänge, die vom Dienst durchgeführt werden, von der OnStart-Methode definiert. Nachdem ein Dienst gestartet worden ist, bleibt er aktiv, solange er nicht manuell angehalten oder beendet wird.
Für Dienste kann festgelegt werden, ob sie automatisch oder manuell gestartet werden. Ein automatisch startender Dienst wird gestartet, wenn der Computer, auf dem er installiert ist, neu gestartet oder zum ersten Mal eingeschaltet wird. Ein Dienst, der manuell gestartet wird, muss von Benutzern gestartet werden.
Hinweis: |
---|
Mit Visual Studio erstellte Dienste haben standardmäßig die Startmethode Manuell. |
Ein Dienst kann auf verschiedene Weise manuell gestartet werden: Mit dem Server-Explorer, dem Dienststeuerungs-Manager oder indem im Code die ServiceController-Komponente verwendet wird. Eine Übersicht der ServiceController-Komponenten finden Sie unter Überwachen von Windows-Diensten.
Die StartType-Eigenschaft für die ServiceInstaller-Klasse wird festgelegt, um zu bestimmen, ob ein Dienst manuell oder automatisch gestartet werden soll.
So geben Sie an, wie ein Dienst gestartet werden soll
Nachdem Sie den Dienst erstellt haben, fügen Sie die erforderlichen Installationsprogramme hinzu. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Installern zur Dienstanwendung.
Klicken Sie im Designer auf das Dienstinstallationsprogramm für den Dienst, mit dem Sie arbeiten.
Legen Sie im Eigenschaftenfenster die StartType-Eigenschaft auf einen der folgenden Werte fest:
Installationszeitpunkt
Festzulegender Wert
Sobald der Computer neu gestartet wird
Automatisch
Sobald der Dienst von einer expliziten Benutzeraktion gestartet wird
Manuell
Tipp: Wenn der Dienst nie gestartet werden soll, legen Sie die StartType-Eigenschaft auf Deaktiviert fest. Wenn ein Server mehrmals neu gestartet wird, kann damit Zeit gespart werden, indem das Starten von Diensten verhindert wird, die in der Regel gestartet würden.
Hinweis: Diese und weitere Eigenschaften können geändert werden, nachdem der Dienst installiert wurde.
Es stehen mehrere Möglichkeiten zur Verfügung, einen Dienst zu starten, dessen StartType-Vorgang auf Manuell festgelegt ist: mit dem Server-Explorer, dem Dienststeuerungs-Manager von Windows oder programmgesteuert. Wichtig ist dabei, dass der Dienst nicht von allen Methoden im Kontext des Dienststeuerungs-Managers gestartet wird. Tatsächlich wird der Controller mit dem Server-Explorer und mit programmgesteuerten Startmethoden geändert.
So starten Sie einen Dienst manuell mit dem Server-Explorer
Fügen Sie im Server-Explorer den gewünschten Server hinzu, sofern dieser noch nicht aufgelistet ist. Weitere Informationen finden Sie unter Gewusst wie: Zugreifen auf und Initialisieren von Server-Explorer/Datenbank-Explorer.
Hinweis: Der Knoten Server vom Server-Explorer steht in der Standard Edition von Visual Studio nicht zur Verfügung.
Erweitern Sie den Knoten Dienste, und suchen Sie die zu startenden Dienste.
Klicken Sie mit der rechten Maustaste auf den Dienst, und klicken Sie dann auf Starten.
So starten Sie einen Dienst manuell mit dem Dienststeuerungs-Manager
Öffnen Sie den Dienststeuerungs-Manager, indem Sie einen der folgenden Schritte ausführen:
Klicken Sie in Windows XP und 2000 Professional auf dem Desktop des Computers mit der rechten Maustaste auf Arbeitsplatz und dann auf Verwalten. Erweitern Sie im daraufhin angezeigten Dialogfeld den Knoten Dienste und Anwendungen.
– oder –
Klicken Sie in Windows Server 2003 und Windows 2000 Server auf Start, zeigen Sie auf Programme und dann auf Verwaltung, und klicken anschließend Sie auf Dienste.
Hinweis: In Windows NT 4.0 kann das Dialogfeld über die Systemsteuerung geöffnet werden.
Der Dienst wird im Bereich Dienste des Fensters angezeigt.
Wählen Sie den Dienst in der Liste aus, klicken Sie mit der rechten Maustaste darauf, und klicken Sie dann auf Starten.
So starten Sie einen Dienst programmgesteuert
Erstellen Sie eine Instanz der ServiceController-Klasse, und konfigurieren Sie sie so, dass Daten mit dem Dienst ausgetauscht werden können. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Instanzen von ServiceController-Komponenten.
Starten Sie den Dienst, indem Sie die Start-Methode aufrufen.
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Windows-Diensten
Gewusst wie: Hinzufügen von Installern zur Dienstanwendung
Gewusst wie: Ausführen von Verwaltungsaufgaben für Dienste
Konzepte
Einführung in Windows-Dienstanwendungen
Referenz
Gewusst wie: Zugreifen auf und Initialisieren von Server-Explorer/Datenbank-Explorer