Πρόσφατα, υπήρχε ανάγκη να κάνω μια υπηρεσία Windows Service να εκτελείται τακτικά και αφού την έγραψα με net core, διαπίστωσα ότι δεν μπορούσε να εκτελεστεί ως υπηρεσία.
Μετά την αναζήτηση στον κήπο, υπάρχουν διάφορες λύσεις, η καθεμία με τα δικά της πλεονεκτήματα. Αφού το διάβασα, ένιωσα ότι δεν ήταν πολύ βολικό, οπότε σκέφτηκα τις δικές μου ιδέες για να το αντιμετωπίσω. Η τελική λύση είναι να γράψετε τρεις ή τέσσερις γραμμές κώδικα posershell, και μόλις εκτελεστεί, η προγραμματισμένη εργασία μπορεί να προστεθεί με επιτυχία
Πρώτα απ 'όλα, γράψτε ένα πρόγραμμα κονσόλας net core. Το πρόγραμμα της κονσόλας εκτελεί τη λογική επεξεργασίας σας.
Ο κωδικός δεν εμφανίζει ......
Στη συνέχεια, δημοσιεύστε τον κώδικα στο φάκελο του Zhibao και πρέπει να καταγράψετε το όνομα dll της κονσόλας σας. Ναι, το όνομα dll, το πρόγραμμα κονσόλας NET Core, δεν δημιουργεί αρχείο exe από προεπιλογή.
Αντιγράψτε τη διαδρομή του δημοσιευμένου φακέλου,
Ο παρακάτω κώδικας μπορεί να γραφτεί σε οποιοδήποτε πρόγραμμα επεξεργασίας, τον έγραψα χρησιμοποιώντας το ενσωματωμένο Powershell ISE του συστήματος.
Κώδικας για απεικόνιση,
Καταχωρίστε μια προγραμματισμένη εργασία (Register-ScheduledJob) στο σύστημα, καθορίστε το όνομα του χρονοδιαγράμματος (-Name), καθορίστε το σενάριο που θα εκτελεστεί (-ScriptBlock), το περιεχόμενο του σεναρίου (διαδρομή dotnet),
Καθορίστε ένα έναυσμα (-Trigger), δημιουργήστε ένα νέο έναυσμα Καθορίστε την ώρα έναρξης της εκτέλεσης, καθορίστε το διάστημα μεταξύ των εκτελέσεων (-RepetitionInterval), εκτελέστε μία φορά την ώρα (01:00:00) και καθορίστε μια αόριστη εκτέλεση (-RepeatIndefinitely)
Απλώς εκτελέστε το παραπάνω σενάριο Powershell για να προσθέσετε μια προγραμματισμένη εργασία στο σύστημα.
Απλό και αρκετά βολικό.
Unregister-ScheduledJob -Name XXXXService --- Διαγράψτε την προγραμματισμένη εργασία.
|