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
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.
Dans la fenêtre Propriétés, définissez la propriété ServiceName pour votre service.
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.
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 surtrue
.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.Accédez à l'éditeur de code et indiquez le traitement souhaité pour les procédures OnStart et OnStop.
Substituez toutes les autres méthodes pour lesquelles vous voulez définir des fonctionnalités.
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.
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.
Installez le service. Pour plus d'informations, consultez How to: Install and Uninstall Services.
Voir aussi
- Introduction aux applications de service Windows
- Procédure : écrire les services par programmation
- Procédure : ajouter des programmes d’installation à votre application de service
- Procédure : enregistrer des informations relatives aux services
- Procédure : démarrer des services
- Procédure : spécifier le contexte de sécurité des services
- Procédure : Installer et désinstaller des services
- Procédure pas à pas : création d’une application de service Windows dans le Concepteur de composants