Gewusst wie: Erstellen von Windows-Diensten
Wenn ein Dienst erstellt wird, kann die Visual Studio-Projektvorlage Windows-Dienst verwendet werden. 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.
Tipp
Die Vorlage Windows-Dienst und die entsprechenden Funktionen stehen in der Standard Edition von Visual Studio nicht zur Verfügung.
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.
Wenn Sie der Anwendung Installationsprogramme hinzugefügt haben, erstellen Sie im nächsten Schritt ein Setup-Projekt, mit dem die kompilierten Projektdateien installiert und die zum Installieren des Diensts benötigten Installationsprogramme ausgeführt werden. Zum Erstellen eines vollständigen Setup-Projekts müssen Sie die Ausgabe des Dienstprojekts zum Setup-Projekt hinzufügen und dann eine benutzerdefinierte Aktion einfügen, um den Dienst zu installieren. Weitere Informationen über Setup-Projekte finden Sie unter Setup- und Bereitstellungsprojekte. Weitere Informationen über benutzerdefinierte Aktionen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Aktion.
So erstellen Sie eine Windows-Dienstanwendung
Erstellen Sie ein neues Windows-Dienst-Projekt.
Tipp
Anweisungen zum Schreiben von Diensten ohne die Vorlage finden Sie unter Gewusst wie: Programmgesteuertes Schreiben von Diensten.
Legen Sie im Eigenschaftenfenster die ServiceName-Eigenschaft für den Dienst fest.
Tipp
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
Mit True wird angezeigt, dass vom Dienst Anforderungen zum Beenden angenommen werden. Mit false wird verhindert, dass der Dienst beendet werden kann.
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.
Mit True wird angegeben, dass vom Dienst Anforderungen zum Anhalten und Fortsetzen angenommen werden. Mit false wird verhindert, dass der Dienst angehalten oder fortgesetzt werden kann.
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.
Mit True werden informative Einträge in das Anwendungsereignisprotokoll geschrieben, sobald vom Dienst eine Aktion durchgeführt wird. Mit false wird diese Funktion deaktiviert. Weitere Informationen finden Sie unter Gewusst wie: Protokollinformationen über Dienste.
HinweisAutoLog ist standardmäßig auf true festgelegt.Tipp
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 Gewusst wie: Hinzufügen von Installern zur Dienstanwendung.
Erstellen Sie das Projekt, indem Sie im Menü Erstellen den Befehl Projektmappe erstellen auswählen.
Tipp
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 Gewusst wie: Installieren und Deinstallieren von Diensten.
Siehe auch
Aufgaben
Gewusst wie: Programmgesteuertes Schreiben von Diensten
Gewusst wie: Hinzufügen von Installern zur Dienstanwendung
Gewusst wie: Protokollinformationen über Dienste
Gewusst wie: Starten von Diensten
Gewusst wie: Angeben des Sicherheitskontexts für Dienste
Gewusst wie: Installieren und Deinstallieren von Diensten
Exemplarische Vorgehensweise: Erstellen einer Windows-Dienstanwendung im Komponenten-Designer