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

Άποψη: 61378|Απάντηση: 6

[ASP.NET] asp.net σεμινάριο πλαισίου hangfire εργασιών στο παρασκήνιο

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 24/5/2019 9:51:10 π.μ. | | | |
Το Hangfire λειτουργεί με τις περισσότερες πλατφόρμες .NET:.NET Framework 4.5 ή νεότερη έκδοση, .NET Core 1.0 ή νεότερη έκδοση, οτιδήποτε σχετίζεται με . Πλατφόρμα συμβατή με NET Standard 1.3. Μπορείτε να το ενσωματώσετε με σχεδόν οποιοδήποτε πλαίσιο εφαρμογών, συμπεριλαμβανομένων των ASP.NET, ASP.NET Core, εφαρμογών κονσόλας, υπηρεσιών Windows, WCF και προγραμμάτων οδήγησης κοινότητας όπως το Nancy ή το ServiceStack.

Ισχύοντα σενάρια:Το φόντο στέλνει το email ασύγχρονα και επιστρέφει μια απάντηση στον χρήστη το συντομότερο δυνατό. Προγραμματισμένη εκτέλεση εργασιών, κυκλική εκτέλεση εργασιών, ασύγχρονη εκτέλεση χρονοβόρων εργασιών, ολοκλήρωση εκτέλεσης εργασίας Α και στη συνέχεια εκτέλεση εργασιών Β και μαζική εκτέλεση εργασιών.
Πώς το έκανα:

c# ενσωματώνει μια καθολική ουρά QueueHelper
https://www.itsvse.com/thread-5029-1-1.html
(Πηγή: Architect_Programmer)


Μπορείτε να βάλετε επεξεργασία παρασκηνίου σε ASP.NET εφαρμογή χωρίς να χρησιμοποιήσετε άλλες διαδικασίες όπως οι υπηρεσίες των Windows. Ο κώδικας του Hangfire είναι έτοιμος για ανάπτυξηΑπροσδόκητος τερματισμός διεργασίας, ανακύκλωση χώρου συγκέντρωσης εφαρμογών και επανεκκίνηση。 Λόγω της χρήσηςΜόνιμη αποθήκευση, εξ ου και εσύΔεν χάνονται θέσεις εργασίας στο παρασκήνιο

Πρώτον, οι αποδόσεις είναι οι εξής:




Η παραπάνω εικόνα είναι ο πίνακας εργαλείων του Hangfire Dashboard, ο οποίος είναι πολύ χρήσιμος και μπορεί να ελέγξει την κατάσταση των εργασιών στο παρασκήνιο και είναι επίσης πολύ ωραίος, επομένως πρέπει να ρυθμιστεί.

Το περιβάλλον εργασίας χρήστη του πίνακα εργαλείων απαιτεί μια κλάση εκκίνησης, μόνο εάνΚατά τη διαμόρφωση του Hangfire με την κλάση Startup,Διεπαφή χρήστη πίνακα ελέγχουΜπορεί να χρησιμοποιηθεί

Στην αρχή, δεν διαμόρφωσα τον πίνακα ελέγχου του Hangfire Dashboard και έλαβα το ακόλουθο σφάλμα:

Παρουσιάστηκαν τα ακόλουθα σφάλματα κατά την προσπάθεια φόρτωσης της εφαρμογής.
- Δεν βρέθηκε συγκρότημα που να περιέχει ένα OwinStartupAttribute.
- Δεν βρέθηκε συγκρότηση που να περιέχει εκκίνηση ή [AssemblyName]. Κατηγορία εκκίνησης.
Για να απενεργοποιήσετε τον εντοπισμό εκκίνησης OWIN, προσθέστε το appSetting owin:AutomaticAppStartup με τιμή "false" στο web.config.
Για να καθορίσετε τη συγκρότηση, την κλάση ή τη μέθοδο εκκίνησης OWIN, προσθέστε το appSetting owin:AppStartup με την πλήρως προσδιορισμένη κλάση εκκίνησης ή το όνομα της μεθόδου διαμόρφωσης στο web.config.



Λύση:

Όταν χρησιμοποιείτε προετοιμασία βάσει Global.asax.cs, μπορεί επίσης να χρειαστεί να απενεργοποιήσετε τον εντοπισμό κλάσης εκκίνησης του OWIN.

Αρχίζουμε να φτάνουμε στο σημείο, το σεμινάριο ξεκινά:

1: Το πλαίσιο πρέπει να ανταποκρίνεται στις ανάγκες της πυρκαγιάς,Το έργο μου είναι .NET 4.6.2, Έτσι, μπορείτε να εγκαταστήσετε το hangfire κανονικά, τα έργα .net 4.0 δεν χρειάζεται να προσπαθήσουν, δεν υποστηρίζονται!

2: Η εντολή nuget είναι η εξής:

3: Η κλάση OWIN Startup έχει σχεδιαστεί για να διατηρεί τη λογική εκκίνησης της εφαρμογής Ιστού σε ένα μέρος. Στο Visual Studio 2013, μπορείτε να το προσθέσετε κάνοντας δεξί κλικ στο έργο και επιλέγοντας το στοιχείο μενού Add/OWIN Startup Class. Οπως φαίνεται παρακάτω:



Δημιουργήστε ένα νέο αρχείο Startup.cs στον ριζικό κατάλογο του έργου.

4: Διαμόρφωσησυμβολοσειρά σύνδεσης βάσης δεδομένων, την έκδοση του SQL Server 2012 που χρησιμοποιώ εδώ, η διαμόρφωση στο web.config έχει ως εξής:

5: Διαμορφώστε τον πίνακα ελέγχου Hangfire για πρόσβαση στο φίλτρο, δημιουργήστε ένα νέοHangfireAuthorizationFilter.csΑρχείο.

Από προεπιλογή, επιτρέπεται μόνο η τοπική πρόσβαση στον πίνακα ελέγχου Hangfire. Η εξουσιοδότηση του πίνακα εργαλείων πρέπει να ρυθμιστεί ώστε να επιτρέπει την απομακρυσμένη πρόσβαση.


6: Διαμορφώστε την κλάση Startup.cs, ο κωδικός είναι ο εξής:


7: Ξεκινήστε ένα έργο ιστότοπου

Εκτελέστε την εφαρμογή F5 πατώντας τη λειτουργία εντοπισμού σφαλμάτων (αυτό απαιτεί την εξέταση της εξόδου της μεθόδου Debug.WriteLine). Στη συνέχεια, ελέγξτε το ακόλουθο μήνυμα στο παράθυρο Έξοδος για να δείτε εάν η επεξεργασία στο παρασκήνιο ξεκίνησε με επιτυχία.



Ταυτόχρονα, η βάση δεδομένων διαθέτει επίσης 11 ακόμη πίνακες για να διασφαλίσει ότι όλες οι εργασίες μπορούν να εκτελεστούν κανονικά και ότι οι εργασίες δεν θα χαθούν κατά την ανάκτηση IIS ή την επανεκκίνηση της διαδικασίας, όπως φαίνεται στο παρακάτω σχήμα:



http://<your-web-app>/hangfire

Επισκεφτείτε τη διεύθυνση URL του περιβάλλοντος εργασίας του πίνακα εργαλείων για να δείτε την απόδοση στο επάνω μέρος του άρθρου.

Συνημμένη χρήση

Fire-And-forget (δημοσίευση/εγγραφή)

Αυτός είναι ο κύριος τύπος εργασίας παρασκηνίου που χειρίζεται η μόνιμη ουρά μηνυμάτων. Όταν δημιουργείτε μια εργασία δημοσίευσης/εγγραφής, η εργασία θα αποθηκευτεί στην προεπιλεγμένη ουρά (η προεπιλεγμένη ουρά είναι "Προεπιλογή", αλλά υποστηρίζονται πολλές ουρές). Πολλοί αφοσιωμένοι εργαζόμενοι ακούν αυτήν την ουρά και ανακτούν εργασίες από αυτήν και ολοκληρώνουν εργασίες.


Καθυστέρηση

Εάν θέλετε να καθυστερήσετε την εκτέλεση ορισμένων εργασιών, μπορείτε να χρησιμοποιήσετε τις ακόλουθες εργασίες. Μετά από ένα δεδομένο χρόνο καθυστέρησης, η εργασία τοποθετείται στην ουρά και εκτελείται όπως μια εργασία δημοσίευσης/εγγραφής.

Βρόχος

Για να καλέσετε τη μέθοδο κατά περιοδικότητα (ώρες, ημέρες κ.λπ.), χρησιμοποιήστε την κλάση RecurringJob. Σε σύνθετα σενάρια, μπορείτε να χρησιμοποιήσετε εκφράσεις CRON για να καθορίσετε μια προγραμματισμένη ώρα για την επεξεργασία εργασιών.


Συνεχής

Το Continuity σάς επιτρέπει να ορίζετε σύνθετες ροές εργασίας συνδέοντας πολλές εργασίες στο παρασκήνιο μεταξύ τους.


Επίσημος σύνδεσμος τεκμηρίωσης:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

(Τέλος)






Προηγούμενος:Ο αλγόριθμος δεδομένων βίντεο μοιράζεται σημειώσεις
Επόμενος:Το αίτημα ματαιώθηκε: Απέτυχε η δημιουργία μιας λύσης ασφαλούς καναλιού SSL/TLS
Δημοσιεύτηκε στις 24/5/2019 10:12:25 π.μ. |
Αυτό το άρθρο επεξεργάστηκε τελευταία φορά από το YuAn στις 2019-5-24 10:20

Ωραίο άρθρο
Δημοσιεύτηκε στις 24/5/2019 10:12:46 π.μ. |
Υποστήριξη υποστήριξης
Δημοσιεύτηκε στις 17/9/2021 9:59:44 μ.μ. |

Υποστήριξη υποστήριξης
Δημοσιεύτηκε στις 26/9/2022 10:20:45 μ.μ. |
Υποστήριξη, μάθετε πώς να το χρησιμοποιείτε
Δημοσιεύτηκε στις 12/11/2022 7:02:23 μ.μ. |

Υποστήριξη, μάθετε πώς να το χρησιμοποιείτε
Δημοσιεύτηκε στις 25/3/2023 9:45:31 π.μ. |

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

Mail To:help@itsvse.com