Το .NET CORE 3.0 προσθέτει νέα πρότυπα έργων για τις Υπηρεσίες Εργαζομένων, τα οποία μπορούν να χρησιμοποιηθούν για τη σύνταξη μακροχρόνιων υπηρεσιών παρασκηνίου και την εύκολη ανάπτυξή τους ως υπηρεσίες Windows ή δαίμονες Linux. Εάν το εγκατεστημένο vs2019 είναι η κινεζική έκδοση, το Worker Services γίνεται ρόλος εργαζομένου.
Περιβάλλον συστήματος Linux: CentOS 8 x64-bit
Δημιουργία νέου έργου Worker Service
Αρχικά, ανοίξτε το VS 2019 για να δημιουργήσετε ένα νέο έργο Worker Service.
Υπηρεσίες Linux, πρέπει να προσθέσετε:
Εάν πρόκειται για υπηρεσία Windows, θα πρέπει να προσθέσετε:
Εάν θέλετε να εκτελέσετε ένα σύνολο προγραμμάτων σε πολλά μέρη, μπορείτε απλώς να εγκαταστήσετε δύο πακέτα ταυτόχρονα. Στη συνέχεια, στο CreateHostBuilder, προσθέστε UseWindowsService() και UseSystemd().
Η λειτουργία που υλοποιείται από το έργο είναι η εγγραφή αρχείων καταγραφής στο αρχείο /test/file.txt και ο κύριος κώδικας είναι ο εξής:
Ο κώδικας εργασίας WriteFile έχει ως εξής:
Λόγω προβλημάτων αδειών, το πρόγραμμα δεν μπορεί να δημιουργήσει αυτόματα το φάκελο /test, ο οποίος θα συζητηθεί παρακάτω.
Ανάπτυξη υπηρεσιών στο CentOS
ΝαιΕγκαταστήστε το χρόνο εκτέλεσης .NET Core(Εξαιρείται η υποστήριξη ASP.NET Core)
Εάν θέλετε να εγκαταστήσετε ένα χρόνο εκτέλεσης που υποστηρίζει ASP.NET Core, μπορείτε να εκτελέσετε την ακόλουθη εντολή:
[ρίζα@localhost~]# dotnet --list-runtimes Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Δημιουργήστε έναν φάκελο /test και δώστε δικαιώματα ως εξής:
Κάτω από το φάκελο /etc/systemd/system, δημιουργήστε το αρχείο διαμόρφωσης της υπηρεσίας itsvse.service ως εξής:
Προσθήκη λογαριασμών υπηρεσίας και δημιουργία φακέλων
Δημοσιεύστε και ανεβάστε το Job.Service στον κατάλογο διακομιστή /home/dotnetuser/job και δημοσιεύστε τη διαμόρφωση ως εξής:
Ενεργοποιήστε την υπηρεσία
Μετά την εκκίνηση της υπηρεσίας, μπορείτε να δείτε ότι μπορείτε να γράψετε αρχεία κανονικά, όπως φαίνεται στην παρακάτω εικόνα:
Λήψη πηγαίου κώδικα:
Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώ Απάντηση
(Τέλος)
|