.net Core Worker Service Example

4 min read Jun 03, 2024
.net Core Worker Service Example

Un exemple simple de Worker Service avec .NET Core

Introduction

Les services Worker dans .NET Core sont une excellente option pour exécuter des tâches en arrière-plan, sans avoir besoin d'une interface utilisateur. Ils sont parfaits pour les opérations chronométrées, le traitement de messages asynchrones et d'autres tâches qui ne nécessitent pas d'interaction directe avec l'utilisateur.

Dans cet article, nous allons explorer un exemple simple de .NET Core worker service pour vous aider à comprendre les bases de son fonctionnement.

Création d'un service Worker

  1. Créer un nouveau projet:
    • Ouvrez Visual Studio et sélectionnez "Créer un projet".
    • Choisissez le modèle "Application Web ASP.NET Core" et cliquez sur "Suivant".
    • Sélectionnez "Application Web vide" et cliquez sur "Créer".
  2. Installer le package NuGet:
    • Dans le gestionnaire de packages NuGet, recherchez et installez le package Microsoft.Extensions.Hosting.
  3. Créer une classe de service:
    • Créez une nouvelle classe nommée "MyWorkerService" qui implémente l'interface IBackgroundService.
    • Implémentez la méthode StartAsync() pour démarrer le service et la méthode StopAsync() pour l'arrêter.

Voici un exemple de code pour la classe "MyWorkerService":

using Microsoft.Extensions.Hosting;
using System;
using System.Threading;
using System.Threading.Tasks;

namespace WorkerServiceExample
{
    public class MyWorkerService : IHostedService
    {
        private readonly ILogger _logger;

        public MyWorkerService(ILogger logger)
        {
            _logger = logger;
        }

        public async Task StartAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Le service Worker a démarré.");

            while (!cancellationToken.IsCancellationRequested)
            {
                // Effectuez les tâches de votre service ici
                _logger.LogInformation("Exécution de tâches du service Worker...");
                await Task.Delay(5000, cancellationToken); // Attendre 5 secondes
            }
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Le service Worker s'est arrêté.");
            return Task.CompletedTask;
        }
    }
}

Configuration du service Worker

  1. Configurer l'hôte:
    • Dans la méthode Program.cs, configurez l'hôte pour qu'il utilise votre .NET Core worker service.
    • Ajoutez votre service Worker à l'hôte à l'aide de la méthode UseHostedService.

Voici un exemple de code pour la configuration du service Worker:

using Microsoft.Extensions.Hosting;
using WorkerServiceExample;

var builder = WebApplication.CreateBuilder(args);

// Ajoutez votre service Worker à l'hôte
builder.Services.AddHostedService();

var app = builder.Build();

// Lancement du service Worker
app.Run();

Exécution du service Worker

  1. Démarrer le service:
    • Exécutez l'application.
    • Le service Worker s'exécutera en arrière-plan et effectuera les tâches que vous avez définies.

Conclusion

Ce simple exemple vous montre comment créer un .NET Core worker service et configurer son exécution en arrière-plan.

N'oubliez pas que vous pouvez utiliser des logiques plus complexes dans vos services Workers, et les intégrer à des services cloud comme Azure pour un déploiement plus avancé.

Related Post


Featured Posts