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

Άποψη: 45031|Απάντηση: 1

[ASP.NET] ASP.NET Λεπτομερής επεξήγηση του ενδιάμεσου λογισμικού Middleware του Core (9).

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2021-5-12 11:21:52 | | | |
Το ενδιάμεσο λογισμικό είναι ένας τύπος λογισμικού που συναρμολογείται σε μια διοχέτευση εφαρμογών για τη διαχείριση αιτημάτων και απαντήσεων. Κάθε συστατικό:
  • Επιλέξτε εάν θα μεταβιβάσετε την αίτηση στο επόμενο στοιχείο στη διοχέτευση.
  • Η εργασία μπορεί να εκτελεστεί πριν και μετά το επόμενο εξάρτημα στον αγωγό.
Η ανάθεση αίτησης χρησιμοποιείται για τη δημιουργία μιας διοχέτευσης αίτησης. Ζητήστε από τους αντιπροσώπους να χειριστούν κάθε αίτημα HTTP.

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

Αναθεώρηση:
ASP.NET Λεπτομερής επεξήγηση του Core Middleware
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET λάκκο των προεπιλεγμένων παραμέτρων του Swagger UI στο Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Πυρήνας (7) Σε βάθος ανάλυση του πηγαίου κώδικα πλαισίου
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Πυρήνας (VI) Το DI λαμβάνει χειροκίνητα τη μέθοδο έγχυσης αντικειμένων
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Ο πυρήνας (πέντε) βασίζεται σε κατανεμημένες συναλλαγές της ΚΓΠ
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Επικύρωση ενοποιημένου μοντέλου ModelState φίλτρου Core(4)
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Πυρήνας (2) Επανεκκινήστε την εφαρμογή με κωδικό
https://www.itsvse.com/thread-9480-1-1.html

Το ASP.NET Core (1) χρησιμοποιεί προσωρινή αποθήκευση Redis
https://www.itsvse.com/thread-9393-1-1.html
ASP.NET Βασικό ενδιάμεσο λογισμικόΤο ενδιάμεσο λογισμικό είναι καταχωρημένο σε ένα μοντέλο singleton, δηλαδή, η εφαρμογή θα δημιουργηθεί μόνο μία φορά και ο κατασκευαστής θα αρχικοποιηθεί μόνο μία φορά από την αρχή μέχρι το τέλος.

Αρχικά, ας δημιουργήσουμε ένα νέο ενδιάμεσο λογισμικό TestMiddleware με τον ακόλουθο κώδικα:


Εγγραφείτε στη μέθοδο Configure του αρχείου εκκίνησης, ως εξής:

Το ενδιάμεσο λογισμικό υποκλέπτει αιτήματα άμεσης απόκρισης

Προσπαθήστε να υποκλέψετε το αίτημα για τη διαδρομή /home/index2 και να απαντήσετε απευθείας σε ένα κομμάτι μηνύματος JSON, ο κώδικας έχει ως εξής:



Το ενδιάμεσο λογισμικό μεταβιβάζει τιμές παραμέτρων

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

UseMiddleware() για να περάσουμε την παράμετρο params object[] στον κατασκευαστή του ενδιάμεσου λογισμικού, πράγμα που σημαίνει ότι μπορούμε να περάσουμε οποιονδήποτε αριθμό παραμέτρων στο ενδιάμεσο λογισμικό μέσω του params object[], αρκεί ο τύπος και οι παράμετροι κατασκευής του ενδιάμεσου λογισμικού να ταιριάζουν.

Μπορεί να περάσει με κωδικό όπως αυτός:




Το ενδιάμεσο λογισμικό ενδιάμεσου λογισμικού μεταβιβάζεται μεταξύ τιμών

Δημιουργήστε ένα νέο ενδιάμεσο λογισμικό Test2Middleware, καταχωρούμε πολλαπλά ενδιάμεσα λογισμικά ταυτόχρονα και το επόμενο ενδιάμεσο λογισμικό πρέπει να κάνει κάποια λογική επεξεργασία σύμφωνα με το προηγούμενο ενδιάμεσο λογισμικό, δηλαδή να περάσει παραμέτρους μεταξύ ενδιάμεσου λογισμικού, ο κώδικας έχει ως εξής:




Το Middleware OnStarting απαντά στην ανάθεση

Επειδή το ενδιάμεσο λογισμικό μπορεί να καταχωρήσει πολλές και μπορεί να περάσει από πολλές ενδιάμεσες διεργασίες, το τελευταίο ενδιάμεσο λογισμικό θέλει να κάνει κάτι πριν απαντήσει, μπορεί να καταχωρήσει έναν πληρεξούσιο OnStarting. Η δοκιμή θα εκτελέσει μια αλλαγή κεφαλίδας στο περιβάλλον του HttpResponse.OnStarting(Func<Task>) για να διασφαλίσει ότι η επανάκληση εκτελείται αμέσως πριν από την εκκαθάριση της απόκρισης στον υπολογιστή-πελάτη.


Ο κωδικός έχει ως εξής:



(Τέλος)




Προηγούμενος:Οι οντότητες EF τύπου προσάρτησης "XXXX" αποτυγχάνουν επειδή άλλες...
Επόμενος:Το POI χρησιμοποιεί τρεις μεθόδους: HSSF, XSSF, SXSSF
Δημοσιεύτηκε στις 2021-9-22 19:59:27 |
Μάθε να μαθαίνεις...
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com