|
|
Publié sur 27/04/2019 17:56:09
|
|
|
|

préface
Suite à l’article précédent sur le planificateur des tâches Windows, cet article relatera la création des services Windows.
Environnement et outils
>Système Windows 10
>VS 2017
SMS
1 : Créer une nouvelle solution et créer un service Windows. Le nom est "WindowsServiceDemo.exe”
2 : Double-cliquez sur le fichier « Service1.cs », faites un clic droit sur l’espace vide – > sélectionnez « Ajouter l’installateur ».
3 : Dans les deux composants générés, cliquez sur le composant « serviceProcessInstaller1 », et dans le formulaire propriétés, définissez le type de compte « Compte » sur « LocalSystem ».
4 : Dans les deux composants générés, cliquez sur le composant « serviceInstaller1 », dans le formulaire propriétés, définissez les propriétés correspondantes, puis enregistrez.
5 : Clic droit sur « Service1.cs » – > sélectionnez « Voir le code ».
6 : Dans la méthode correspondante, écrivez la logique de traitement. Méthode OnStart() : fait référence à la méthode qui entre au début du service Windows. OnStop() : Comme son nom l’indique, c’est la façon d’entrer lorsque le service s’arrête. Nous pouvons écrire un minuteur permettant au programme de traiter la logique lors d’un rapport normal.
7 : Créer deux fichiers de bloc-notes, nommer et modifier les noms des suffixes « Install.bat » et « Uninstall.bat » respectivement Remarque : Le nom du suffixe est .bat. Collez-le à l’intérieur du projet. Et changez l’attribut en « Copier en local ».
8 : Les deux fichiers que nous venons de créer servent à installer et désinstaller le service. Maintenant, écrivez le code batch sur ces deux fichiers et enregistrez. Ouvrez le fichier « Install.bat » et écrivez le code suivant
Note : « WindowsServiceDemo.exe » correspond au programme exe qui vient d’être généré. « AServiceTest » est le « ServiceName » défini dans le composant « serviceInstaller1 ».
Ouvrez le fichier « Uninstall.bat » et écrivez le code suivant
9 : F6 le génère. Dans le dossier du projet « bin\Debug ». Faites un clic droit sur « Install.bat » – > sélectionnez « Exécuter en tant qu’administrateur ».
Une fois l’installation du service terminée. On peut voir que le fichier « Log.txt » écrit une ligne de données toutes les 10 secondes.
Nous pouvons voir les services installés. Run – > saisi « services.msc » s’inscrire.
Arrêtez le service maintenant. Faites un clic droit sur « Uninstall.bat » – > sélectionnez « Exécuter en tant qu’administrateur ».
Après la désinstallation du service. On peut voir que le fichier « Log.txt » contient aussi une ligne de données écrite.
#Débogage des services Windows
Les services Windows ne peuvent pas être lancés directement avec F5, F10 débogué. Alors, comment déboguer le programme s’il y a une anomalie ? 1 : Tout d’abord, utilisez l’administrateur pour exécuter le fichier « Install.bat » et laissez le programme s’exécuter en premier.
2 : Retournez dans VS et sélectionnez « Déboguer » dans la barre de menu – > sélectionnez « Attacher au processus ».
3 : Dans le formulaire pop-up, cochez « Afficher tous les processus des utilisateurs », trouvez l’application .exe que nous avons générée, puis cliquez sur « Attacher ».
4 : Rompez le point dans la méthode, de sorte que lorsqu’elle tourne pendant un certain temps, elle puisse déclencher un débogage.
Épilogue
Le débogage des services Windows est très problématique, parfois le programme est écrit dans un problème et le service ne peut pas démarrer, ce qui rend le débogage plus difficile. En général, l’écriture de services Windows est accompagnée d’une application console. Déboguez-le dans l’application console, puis transférez-le vers Windows Services. Le sujet suivant décritra une manière plus simple de créer un service Windows.
Note : Les fichiers batch lancés et désinstallés par les deux programmes doivent être exécutés en tant qu’administrateurs. Sinon, ce sera incorrect.
|
Précédent:Algorithmes courants pour le partage de big data (applications)Prochain:L’utilisation de Topshelf pour les tâches d’exécution planifiée en C#
|