Vorgehensweise: Erstellen von Windows-Diensten
Hinweis
Dieser Artikel gilt nicht für gehostete Dienste in .NET. Die neuesten Inhalte zu Windows-Diensten mit Microsoft.Extensions.Hosting.BackgroundService und die Workerdienstvorlage finden Sie unter:
Wenn Sie einen Dienst erstellen möchten, können Sie die Visual Studio-Projektvorlage Windows-Dienst verwenden. Von dieser Vorlage wird ein großer Teil der Arbeit übernommen, indem auf die entsprechenden Klassen und Namespaces verwiesen wird, die Vererbung von den Basisklassen für Dienste eingerichtet wird und eine Reihe von Methoden überschrieben werden, die voraussichtlich überschrieben werden sollen.
Warnung
Die Projektvorlage Windows Service ist nicht in der Express Edition von Visual Studio verfügbar.
Das Erstellen eines funktionierenden Diensts erfordert mindestens:
Legen Sie die ServiceName-Eigenschaft fest.
Das Erstellen der für die Dienstanwendung erforderlichen Installationsprogramme.
Durch das Überschreiben der OnStart-Methode und der OnStop-Methode und die Eingabe von Code wird das Verhalten des Diensts angepasst.
So erstellen Sie eine Windows-Dienstanwendung
Erstellen Sie ein Windows-Dienstprojekt.
Hinweis
Anweisungen zum Schreiben von Diensten ohne die Vorlage finden Sie unter Vorgehensweise: Programmgesteuertes Schreiben von Diensten.
Legen Sie im Fenster Eigenschaften die ServiceName-Eigenschaft für den Dienst fest.
Hinweis
Der Wert der ServiceName-Eigenschaft muss immer mit dem Namen übereinstimmen, der in den Installationsprogrammklassen aufgezeichnet wurde. Wenn Sie diese Eigenschaft ändern, muss auch die ServiceName-Eigenschaft der Installationsprogrammklassen aktualisiert werden.
Legen Sie eine oder mehrere der folgenden Eigenschaften fest, um zu bestimmen, wie der Dienst funktionieren soll.
Eigenschaft Einstellung CanStop Mit True
wird angezeigt, dass vom Dienst Anforderungen zum Beenden angenommen werden. Mitfalse
wird verhindert, dass der Dienst beendet werden kann.CanShutdown Mit True
wird angegeben, dass der Dienst benachrichtigt werden soll, wenn der ausführende Computer heruntergefahren wird. Dadurch wird ermöglicht, dass die OnShutdown-Prozedur aufgerufen werden kann.CanPauseAndContinue Mit True
wird angegeben, dass vom Dienst Anforderungen zum Anhalten und Fortsetzen angenommen werden. Mitfalse
wird verhindert, dass der Dienst angehalten oder fortgesetzt werden kann.CanHandlePowerEvent Mit True
wird angegeben, dass der Dienst Benachrichtigungen zu Änderungen des Leistungsstatus eines Computers verarbeiten kann.false
gibt an, dass der Dienst nicht über diese Änderungen informiert wird.AutoLog Mit True
werden informative Einträge in das Anwendungsereignisprotokoll geschrieben, sobald vom Dienst eine Aktion durchgeführt wird. Mitfalse
wird diese Funktion deaktiviert. Weitere Informationen finden Sie unter Vorgehensweise: Protokollinformationen über Dienste. Hinweis:AutoLog ist standardmäßig auftrue
festgelegt.Hinweis
Wenn CanStop oder CanPauseAndContinue auf
false
festgelegt sind, werden vom Dienststeuerungs-Manager die entsprechenden Menüoptionen zum Beenden, Anhalten oder Fortsetzen des Diensts deaktiviert.Greifen Sie auf den Code-Editor zu, und geben Sie die gewünschte Verarbeitung für die OnStart-Prozedur und die OnStop-Prozedur ein.
Überschreiben Sie alle anderen Methoden, für die Sie Funktionen definieren möchten.
Fügen Sie die für die Dienstanwendung erforderlichen Installationsprogramme hinzu. Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen von Installern zur Dienstanwendung.
Erstellen Sie das Projekt, indem Sie im Menü Erstellen den Befehl Projektmappe erstellen auswählen.
Hinweis
Drücken Sie nicht F5, um das Projekt auszuführen. Dienstprojekte können auf diese Weise nicht ausgeführt werden.
Installieren Sie den Dienst. Weitere Informationen finden Sie unter Vorgehensweise: Installieren und Deinstallieren von Diensten.
Siehe auch
- Einführung in Windows-Dienstanwendungen
- How to: Programmgesteuertes Schreiben von Diensten
- How to: Hinzufügen von Installern zur Dienstanwendung
- How to: Protokollinformationen über Dienste
- How to: Starten von Diensten
- How to: Angeben des Sicherheitskontexts für Dienste
- How to: Installieren und Deinstallieren von Diensten
- Exemplarische Vorgehensweise: Erstellen einer Windows-Dienstanwendung