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

Άποψη: 7562|Απάντηση: 2

[.NET Πυρήνας] Το ASP.NET Core φιλοξενεί τα μοντέλα In-Process και Out-Of-Process στις υπηρεσίες IIS

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-5-14 13:18:08 | | | |
Από το .NET Core cross-platform, τα έργα ASP.NET Core μπορούν να εκτελούνται τόσο σε Windows όσο και σε Linux και εάν αναπτυχθούν σε Windows, μπορούν να αναπτυχθούν σε IIS ή να εκτελεστούν απευθείας μέσω της γραμμής εντολών, ανεξάρτητα από τις υπηρεσίες IIS, λόγω της συμπερίληψης των κοντέινερ Kestrel στο ASP.NET Core.

Για περισσότερες πληροφορίες σχετικά με τον τρόπο ανάπτυξης εφαρμογών ASP.NET Core σε υπηρεσίες IIS, μπορείτε να ανατρέξετε στα εξής:

Ανάπτυξη ASP.NET Core σε διακομιστή IIS
https://www.itsvse.com/thread-7838-1-1.html
Το ASP.NET Core αναπτύσσεται στις υπηρεσίες IISΣε εξέλιξηκαιΕκτός διαδικασίαςΔύο μοντέλα φιλοξενίας

Πόροι:

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


Μοντέλο σε εξέλιξη

Από το ASP.NET Core 3.0,Η φιλοξενία κατά τη διαδικασία είναι ενεργοποιημένη από προεπιλογή για όλες τις εφαρμογές που έχουν αναπτυχθεί στις υπηρεσίες IIS, το αρχείο web.config μοιάζει με αυτό:

μπορεί να φανείhostingModel="σε επεξεργασία", ένα μοντέλο σε εξέλιξηΤο Kestrel δεν χρησιμοποιείται, αλλά αντ' αυτού χρησιμοποιεί το IISHttpServer() για να υλοποιήσει έναν νέο διακομιστή ιστού που φιλοξενείται απευθείας μέσα στο χώρο συγκέντρωσης εφαρμογών IIS, ο οποίος είναι κάπως παρόμοιος με τον τρόπο με τον οποίο εισήχθη η παραδοσιακή ASP.NET στις υπηρεσίες IIS.

Το παρακάτω διάγραμμα απεικονίζει τη σχέση μεταξύ των λειτουργικών μονάδων IIS, ASP.NET Core και των φιλοξενούμενων εφαρμογών κατά τη διεργασία:



Προσπαθώντας να αποκτήσετε πρόσβαση στον ιστότοπο, μπορείτε να δείτε τον διακομιστή μέσω της κεφαλίδας απόκρισης, όπως φαίνεται στην παρακάτω εικόνα:



Εξετάζοντας τις διαδικασίες μέσω του διαχειριστή εργασιών, υπάρχουν μόνο 2 διαδικασίες, όπως φαίνεται στο παρακάτω σχήμα:



Μοντέλο εκτός διαδικασίας

Αυτό το μοντέλο IIS λειτουργεί ως αντίστροφος διακομιστής μεσολάβησης και όταν λαμβάνει ένα αίτημα, πρέπει να το προωθήσει στην υπηρεσία Kestrel, η οποία είναι ένας διακομιστής ιστού πολλαπλών πλατφορμών ενσωματωμένος σε εφαρμογές ASP.NET Core.

Το παρακάτω διάγραμμα απεικονίζει τη σχέση μεταξύ των λειτουργικών μονάδων IIS, ASP.NET Core και των φιλοξενούμενων εφαρμογών εκτός διαδικασίας:



Τροποποιούμε το αρχείο web.config ως εξής:

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



Κοιτάζοντας ταυτόχρονα τον διαχειριστή εργασιών, διαπίστωσα ότι υπάρχουν 3 διαδικασίες, όπως φαίνεται στο παρακάτω σχήμα:



περίληψη

Στο μοντέλο διαχείρισης InProcess, τα αιτήματα και οι απαντήσεις παρέχονται μέσω w3wp.exe ή IISExpress, ενώ στη διαδικασία εργασίας OutOfProcess που εμπλέκεται, είναι dotnet.exe
Στο διαχειριζόμενο μοντέλο InProcess, χρησιμοποιείται ένας μόνο διακομιστής ιστού, ενώ στο διαχειριζόμενο μοντέλο OutOfProcess, μπορούν να χρησιμοποιηθούν δύο διακομιστές ιστού.

Ο προφανής λόγος για τη χρήση του νέου μοντέλου In-Process είναι ότι είναι ταχύτερο και χρησιμοποιεί λιγότερους πόρους,Το διαχειριζόμενο μοντέλο InProcess παρέχει καλύτερες επιδόσειςΕπειδή εκτελείται απευθείας στη διαδικασία του χώρου συγκέντρωσης εφαρμογών IIS. Δεν υπάρχει εσωτερική κίνηση HTTP και γενικά έξοδα και τα αιτήματα διεκπεραιώνονται αμέσως.





Προηγούμενος:Το Nginx προσθέτει ενεργοποιημένο το πρωτόκολλο HTTP/2
Επόμενος:Η εσφαλμένη χρήση του HttpClient μπορεί να καταστρέψει το λογισμικό σας
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-5-14 13:20:23 |
ASP.NET Απόδοση εντός και εκτός της βασικής διαδικασίας:http://blog.iis7.com/article/5958.html
ASP.NET Δοκιμή απόδοσης Core 5 σε IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Δημοσιεύτηκε στις 2022-5-14 15:07:14 |
Μαθαίνω να μαθαίνω
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com