.NET CORE 3.0 ajoute de nouveaux modèles de projets pour les services de travail, qui peuvent être utilisés pour écrire des services en arrière-plan de longue durée et les déployer facilement sous forme de services Windows ou de démons Linux. Si le vs2019 installé est la version chinoise, les Services aux travailleurs deviennent un rôle de travailleur (workers).
Environnement système Linux : CentOS 8 x64 bits
Créer un nouveau projet de Service aux Travailleurs
D’abord, ouvrir VS 2019 pour créer un nouveau projet de Service aux Travailleurs.
Services Linux, besoin d’ajouter :
Si c’est un service Windows, vous devrez ajouter :
Si vous voulez faire tourner un ensemble de programmes à plusieurs endroits, vous pouvez simplement installer deux paquets en même temps. Ensuite, dans CreateHostBuilder, ajoutez UseWindowsService() et UseSystemd().
La fonction implémentée par le projet est d’écrire des journaux dans le fichier /test/file.txt, et le code principal est le suivant :
Le code de tâche WriteFile est le suivant :
En raison de problèmes d’autorisation, le programme ne peut pas créer automatiquement le dossier /test, ce qui sera discuté ci-dessous.
Déploiement des services sur CentOS
OuiInstaller l’exécution du .NET Core(Excluant ASP.NET support Core)
Si vous souhaitez installer un runtime qui prend en charge ASP.NET Core, vous pouvez exécuter la commande suivante :
[racine@localhost~]# dotnet --list-runtimes Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Créez un dossier /test et donnez les permissions suivantes :
Dans le dossier /etc/systemd/system, créez le fichier de configuration du service itsvse.service comme suit :
Ajoutez des comptes de service et créez des dossiers
Publiez et téléchargez Job.Service sur le répertoire serveur /home/dotnetuser/job, et publiez la configuration comme suit :
Allumez le service
Après le lancement du service, vous pouvez voir que vous pouvez écrire des fichiers normalement, comme montré dans la figure suivante :
Téléchargement du code source :
Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaît Répondre
(Fin)
|