Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 36585|Répondre: 3

[ASP.NET] C# est un service Windows qui exécute régulièrement des tâches

[Copié le lien]
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#
Publié sur 08/05/2019 10:59:16 |
Merci d’avoir partagé, juste à temps, envoie-le-moi
Publié sur 22/06/2020 14:04:33 |
Signalez toujours cette erreur
 Propriétaire| Publié sur 07/09/2020 15:21:59 |
awclovelin Publié le 22-06-2020 à 14:04
Signalez toujours cette erreur

La commande en cours d’exécution est fausse, ce service n’est pas installé. Si vous l’installez en tapant sur la ligne de commande, vous pouvez consulter mon prochain post.
L’utilisation de Topshelf pour les tâches d’exécution planifiée en C#
https://www.itsvse.com/thread-7503-1-1.html

Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com