Partager via


Procédure : créer des services Windows

Remarque

Cet article ne s’applique pas aux services hébergés dans .NET. Pour obtenir le contenu le plus récent sur les services Windows utilisant Microsoft.Extensions.Hosting.BackgroundService et le modèle Service Worker, consultez :

Quand vous créez un service, vous pouvez utiliser un modèle de projet Visual Studio appelé Service Windows. Ce modèle accomplit automatiquement pour vous une grande part du travail : il référence les classes et les espaces de noms appropriés, définit l'héritage à partir de la classe de base des services et substitue les méthodes que vous êtes le plus susceptible de vouloir substituer.

Avertissement

Le modèle de projet Services Windows n'est pas disponible dans l'édition Express de Visual Studio.

Pour créer un service fonctionnel, vous devez, au minimum :

  • définir la propriété ServiceName ;

  • ajouter les programmes d'installation nécessaires à votre application de service ;

  • substituer et spécifier le code des méthodes OnStart et OnStop pour personnaliser le comportement de votre service.

Pour créer une application de service Windows

  1. Créez un projet Service Windows.

    Notes

    Pour savoir comment écrire un service sans avoir recours au modèle, consultez Guide pratique pour écrire des services par programmation.

  2. Dans la fenêtre Propriétés, définissez la propriété ServiceName pour votre service.

    Définissez la propriété ServiceName.

    Notes

    La valeur de la propriété ServiceName doit toujours correspondre au nom enregistré dans les classes Installer. Si vous modifiez cette propriété, vous devez également mettre à jour la propriété ServiceName des classes Installer.

  3. Définissez le fonctionnement de votre service à l'aide des propriétés suivantes.

    Propriété Paramètre
    CanStop True pour indiquer que le service acceptera des demandes d'arrêt ; false pour empêcher tout arrêt du service.
    CanShutdown True pour indiquer que le service doit recevoir une notification en cas d'arrêt de l'ordinateur sur lequel il s'exécute, ce qui lui permet d'appeler la procédure OnShutdown.
    CanPauseAndContinue True pour indiquer que le service acceptera les demandes de suspension ou de redémarrage ; false pour empêcher une suspension et un redémarrage du service.
    CanHandlePowerEvent True pour indiquer que le service peut gérer la notification des changements apportés à l’état d’alimentation de l’ordinateur ; false pour empêcher le service d’être notifié de ces changements.
    AutoLog True pour écrire des entrées à caractère informatif dans le journal des événements de l'application lorsque votre service effectue une action ; false pour désactiver cette fonctionnalité. Pour plus d’informations, consultez Guide pratique pour enregistrer des informations relatives aux services. Remarque : Par défaut, AutoLog est défini sur true.

    Notes

    Quand CanStop ou CanPauseAndContinue a la valeur false, le Gestionnaire de contrôle des services désactive les options de menu correspondantes pour arrêter, suspendre ou poursuivre le service.

  4. Accédez à l'éditeur de code et indiquez le traitement souhaité pour les procédures OnStart et OnStop.

  5. Substituez toutes les autres méthodes pour lesquelles vous voulez définir des fonctionnalités.

  6. Ajoutez les programmes d'installation nécessaires à votre application de service. Pour plus d’informations, consultez Guide pratique pour ajouter des programmes d’installation à votre application de service.

  7. Générez votre projet en sélectionnant Générer la solution dans le menu Générer.

    Notes

    N'appuyez pas sur la touche F5 pour exécuter votre projet : vous ne pouvez pas exécuter un projet de service de cette manière.

  8. Installez le service. Pour plus d'informations, consultez How to: Install and Uninstall Services.

Voir aussi