Blog

Step by Step: Worker Service in C#

Worker Services in .NET bieten eine leistungsstarke Möglichkeit Hintergrundaufgaben auszuführen, periodische Vorgänge durchzuführen und lang laufende Prozesse zu verarbeiten. Da man mit .NET nicht plattformabhängig ist, ist man nicht auf Windows Systeme beschränkt.

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein:

  • Installation von .NET 8 SDK
  • Vorhandensein von einer geeigneten Entwicklungsumgebung wie Visual Studio, Visual Studio Code oder einem sonstigen Editor

Schritt 1: Projekt erstellen

  1. Öffnen Sie die Befehlszeile auf Ihrem Computer.
  2. Navigieren Sie zu Ihrem gewünschten Workspace
  3. Führen Sie den folgenden Befehl aus, um ein neues Worker Service-Projekt zu erstellen:
dotnet new worker -n MeinWorkerService

Dieser Befehl erstellt eine neues Verzeichnis unter dem Namen MeinWorkerService mit einer grundlegenden Projektstruktur für Ihren Worker Service.

Schritt 2: Projektstruktur verstehen

Nachdem Sie das Projekt erstellt haben, schauen Sie sich die Projektstruktur an. Ein typisches Worker Service-Projekt enthält:

  1. Program.cs: Der Einstiegspunkt Ihres Dienstes, an dem Sie den Host konfigurieren und Ihren Worker starten.
  2. Worker.cs: Eine Beispielklasse, die von BackgroundService erbt und die Logik Ihres Hintergrunddienstes enthält.

Schritt 3: Logik implementieren

  1. Öffnen Sie Worker.cs in Ihrem Editor.
  2. Modifizieren Sie die ExecuteAsync-Methode, um die spezifische Logik Ihres Worker Services zu implementieren. Dies könnte das regelmäßige Abfragen einer Datenbank, das Aufrufen einer API oder jede andere Hintergrundaufgabe sein. Beispiel für eine einfache Logik, die alle fünf Sekunden eine Nachricht in die Konsole schreibt:
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
await Task.Delay(5000, stoppingToken);
}
}

Schritt 4: Abhängigkeiten und Konfiguration hinzufügen

Falls Ihr Worker Service externe Abhängigkeiten hat (z.B. Datenbanken, APIs, etc.), können Sie diese in der ConfigureServices-Methode in Program.cs hinzufügen:

builder.Services.AddHostedService();

builder.Services.AddSingleton();

Schritt 5: Worker Service testen

  1. Kehren Sie zur Befehlszeile zurück und navigieren Sie zum Projektverzeichnis.
  2. Führen Sie Ihren Worker Service aus mit dem Befehl:
dotnet run

Sie sollten sehen, wie Ihre Logik in der Konsole ausgeführt wird, entsprechend der Implementierung in Worker.cs.

Wenn Sie diesen Schritten folgen, sollten Sie in der Lage sein, einen Worker Service in C# zu erstellen und ihn entsprechend Ihren spezifischen Anforderungen anzupassen. Denken Sie daran, sich auf die Dokumentation und verfügbaren Ressourcen für das Framework oder die Plattform zu beziehen, die Sie verwenden, um detailliertere Informationen zur Implementierung von Worker Services zu erhalten.

Sollten Sie noch mehr über dieses Thema erfahren möchten, stehen Ihnen unsere Experten gerne zur Seite. Kontaktieren Sie uns dafür gerne über unser Kontaktformular oder rufen Sie uns an. Wir freuen uns von Ihnen zu hören.

Interesse geweckt?
Vielen Dank! Wir haben Ihre Anfrage erhalten!
Oops! Beim Senden ist etwas schiefgegangen, versuche es erneut.