.net 6 Windows Service Example

6 min read Jun 03, 2024
.net 6 Windows Service Example

Créer un service Windows avec .NET 6

Introduction

Les services Windows sont des applications qui s'exécutent en arrière-plan sans interface utilisateur. Ils sont idéaux pour des tâches automatisées, des processus récurrents, ou des applications qui doivent être disponibles en permanence. .NET 6 offre une façon simple et moderne de créer des services Windows. Dans cet article, nous allons explorer un exemple concret pour vous aider à démarrer.

Prérequis

Avant de commencer, assurez-vous que vous avez les éléments suivants installés :

  • .NET 6 SDK: Vous pouvez le télécharger depuis le site officiel de .NET.
  • Visual Studio 2022: Assurez-vous d'avoir installé le package de développement "Développement .NET de bureau" et "Développement de services Windows".
  • Une compréhension de base de C# et de la programmation orientée objet.

Étapes pour créer un service Windows

  1. Création du projet: Ouvrez Visual Studio 2022 et créez un nouveau projet. Choisissez le modèle "Application de service Windows (.NET)". Donnez un nom à votre projet et spécifiez l'emplacement du dossier.
  2. Définir le service: Le fichier Program.cs contient le code principal du service. Vous y trouverez une classe nommée MyService qui hérite de la classe ServiceBase. C'est dans cette classe que vous allez définir les méthodes qui seront exécutées par le service.
  3. Surcharger les méthodes:
    • OnStart(): Cette méthode est appelée lorsque le service est démarré. Vous y effectuerez l'initialisation du service, comme la connexion à des bases de données ou la création de threads.
    • OnStop(): Cette méthode est appelée lorsque le service est arrêté. Vous y effectuerez les opérations de nettoyage, comme la déconnexion des bases de données ou la libération des ressources.
  4. Configurer le service: Le fichier appsettings.json vous permet de configurer les paramètres du service, comme le nom du service, le type de démarrage (Automatique, Manuel, etc.) et d'autres options.
  5. Installer le service: Une fois le code du service écrit, vous devez l'installer sur le système. Vous pouvez le faire en utilisant la commande dotnet publish -c Release -r win-x64 dans la console de votre projet. Cela créera un dossier avec tous les fichiers nécessaires pour installer le service.
  6. Démarrer et arrêter le service: Vous pouvez utiliser l'outil sc de la console pour démarrer et arrêter le service.
    • sc start <NomDuService>: Pour démarrer le service.
    • sc stop <NomDuService>: Pour arrêter le service.

Exemple de code

using System;
using System.ServiceProcess;
using System.Threading;

namespace MyWindowsService
{
    public class MyService : ServiceBase
    {
        private Timer _timer;

        public MyService()
        {
            ServiceName = "MyWindowsService";
        }

        protected override void OnStart(string[] args)
        {
            // Initialisation du service
            _timer = new Timer(TimerCallback, null, 0, 1000);
            Console.WriteLine("Le service est démarré");
        }

        protected override void OnStop()
        {
            // Arrêt du service
            _timer.Dispose();
            Console.WriteLine("Le service est arrêté");
        }

        private void TimerCallback(object state)
        {
            // Code exécuté à chaque intervalle de temps
            Console.WriteLine("Service en cours d'exécution: " + DateTime.Now);
        }
    }
}

Conclusion

Cet exemple simple vous montre comment créer un service Windows avec .NET 6. Vous pouvez étendre ce modèle en ajoutant d'autres fonctionnalités, comme la gestion des erreurs, la journalisation et l'interaction avec d'autres applications.

Points à retenir

  • Les services Windows sont idéals pour les tâches automatisées, les processus récurrents et les applications qui doivent être disponibles en permanence.
  • .NET 6 offre une façon simple et moderne de créer des services Windows.
  • Le fichier Program.cs contient le code principal du service, tandis que le fichier appsettings.json est utilisé pour la configuration.
  • Utilisez la commande sc pour démarrer et arrêter le service.

N'hésitez pas à explorer les fonctionnalités supplémentaires de .NET 6 pour améliorer votre service Windows.

Featured Posts