Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 39816|Απάντηση: 3

[.NET Πυρήνας] Μια υπηρεσία που βασίζεται στο .NET Core σε Linux

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2020-10-29 14:20:02 | | | |
Το .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 και δημοσιεύστε τη διαμόρφωση ως εξής:



Ενεργοποιήστε την υπηρεσία

Μετά την εκκίνηση της υπηρεσίας, μπορείτε να δείτε ότι μπορείτε να γράψετε αρχεία κανονικά, όπως φαίνεται στην παρακάτω εικόνα:



Λήψη πηγαίου κώδικα:

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση


(Τέλος)




Προηγούμενος:ASP.NET WebApi χρησιμοποιεί MessageHandlers για να ενοποιήσει τη μορφή μοντέλου διεπαφής επιστροφής
Επόμενος:Υπηρεσία web API κονσόλας που βασίζεται σε HttpSelfHostServer
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2020-10-30 09:28:44 |
Δείγμα εξόδου:
info: ExampleHostedService[0]
//           1. Το StartAsync έχει κληθεί.
info: ExampleHostedService[0]
//           2. Το OnStarted έχει κληθεί.
πληροφορίες: Microsoft.Hosting.Lifetime[0]
Η εφαρμογή ξεκίνησε. Πατήστε Ctrl+C για τερματισμό.
πληροφορίες: Microsoft.Hosting.Lifetime[0]
Περιβάλλον φιλοξενίας: Παραγωγή
πληροφορίες: Microsoft.Hosting.Lifetime[0]
Διαδρομή ρίζας περιεχομένου: .. \διάρκεια ζωής εφαρμογής\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. Έχει κληθεί το OnStoping.
πληροφορίες: Microsoft.Hosting.Lifetime[0]
Η εφαρμογή κλείνει...
info: ExampleHostedService[0]
//           4. Το StopAsync έχει κληθεί.
info: ExampleHostedService[0]
//           5. Το OnStop έχει κληθεί.


 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2020-11-6 13:53:00 |
δημόσια αφηρημένη τάξη BackgroundService : IHostedService, IDisposposable

Η διεπαφή IHostedService παρέχει έναν βολικό τρόπο για την έναρξη εργασιών παρασκηνίου σε εφαρμογές web ASP.NET Core (σε .NET Core 2.0 και νεότερες εκδόσεις) ή σε οποιαδήποτε διεργασία/κεντρικό υπολογιστή (ξεκινώντας με .NET Core 2.1 χρησιμοποιώντας το IHost). Το κύριο πλεονέκτημά του είναι ότι μπορεί να γίνει όταν ο ίδιος ο κεντρικός υπολογιστής πρόκειται να κλείσειΥπάρχει πιθανότηταΚάντε μια κανονική ακύρωση για να καθαρίσετε τον κώδικα για εργασίες στο παρασκήνιο.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2021-4-27 15:57:28 |
Καταχωρίστε τη μέθοδο επέκτασης υπηρεσίας backend

Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com