Créer un service d'arrière-plan avec .NET 6
Introduction
.NET 6 offre une variété d'options pour créer des services d'arrière-plan qui peuvent s'exécuter en arrière-plan et effectuer des tâches régulières. Ces services sont idéaux pour des scénarios tels que la surveillance, la planification, l'intégration avec des systèmes externes et bien plus encore. Dans cet article, nous allons explorer un exemple concret de création d'un service d'arrière-plan en utilisant .NET 6.
Définir le service d'arrière-plan
Commençons par créer un nouveau projet .NET 6. Vous pouvez utiliser l'interface de ligne de commande (CLI) .NET pour cela:
dotnet new console -n MyBackgroundService
Remplacez MyBackgroundService
par le nom souhaité pour votre projet.
Ensuite, ajoutez le package NuGet Microsoft.Extensions.Hosting
à votre projet. Cela vous fournira les outils nécessaires pour gérer votre service d'arrière-plan.
dotnet add package Microsoft.Extensions.Hosting
Implémenter le service d'arrière-plan
Créez une nouvelle classe qui hérite de BackgroundService
:
using Microsoft.Extensions.Hosting;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace MyBackgroundService
{
public class MyBackgroundTask : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
// Effectuez votre logique de service d'arrière-plan ici
Console.WriteLine("Service d'arrière-plan en cours d'exécution à {0}", DateTime.Now);
// Attendre pendant une certaine durée
await Task.Delay(5000, stoppingToken);
}
}
}
}
Dans la méthode ExecuteAsync
, vous pouvez implémenter la logique de votre service d'arrière-plan. Dans cet exemple, nous affichons un message dans la console et attendons 5 secondes avant de recommencer.
Configuration du service
Modifiez le fichier Program.cs
pour configurer votre service d'arrière-plan. Ajoutez le code suivant à la méthode CreateHostBuilder
:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
// Ajouter le service d'arrière-plan au conteneur de services
services.AddHostedService();
});
Exécuter le service
Vous pouvez maintenant exécuter votre service d'arrière-plan en utilisant la commande suivante dans la console:
dotnet run
Le service d'arrière-plan s'exécutera en arrière-plan et affichera les messages dans la console toutes les 5 secondes.
Conclusion
Cet article vous a présenté un exemple simple de création d'un service d'arrière-plan avec .NET 6. Vous pouvez l'utiliser comme point de départ pour développer des services plus complexes et personnalisés en fonction de vos besoins spécifiques. N'oubliez pas que vous pouvez ajouter des fonctionnalités supplémentaires à votre service d'arrière-plan telles que la communication avec des bases de données, l'intégration avec des API externes, la gestion des erreurs, etc.