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

Άποψη: 14502|Απάντηση: 0

[ASP.NET] Το Styles.Render ενεργοποιεί τη σκέψη του runAllManagedModulesForAllRequests=true

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 13/10/2016 3:02:09 μ.μ. | | |
Στο προηγούμενο άρθρο, υπάρχει ένα άλλο πρόβλημα παλαιού τύπου που δεν έχει λυθεί, δηλαδή ASP.NET MVC MapRoute .htm δεν λειτουργεί, πώς να το λύσετε εάν δεν χρησιμοποιείτε το runAllManagedModulesForAllRequests="true"; Αργότερα, βρήκα μια λύση:



Αναφορά: ASP.NET MVC: Δρομολόγηση αιτήματος .html σε δρομολόγηση MVC

Συζήτησα γιατί πρέπει να προσπαθήσετε να μην χρησιμοποιήσετε το runAllManagedModulesForAllRequests="true" και μετά βρήκα δύο σχετικά άρθρα:

Η τέχνη της απλότητας: Βελτιστοποιήστε την απόδοση των διαδικτυακών εφαρμογών σας: Μην χρησιμοποιείτε το runAllManagedModulesForAllRequests="true".
Μην χρησιμοποιείτε το runAllManagedModulesForAllRequests="true" κατά τη λειτουργία της δρομολόγησης MVC
Απόσπασμα από περιγραφή στο κείμενο:

Αυτή η ιδιαίτερα συνιστώμενη επιδιόρθωση μπορεί να προκαλέσει άλλα προβλήματα. Αυτά τα προβλήματα έρχονται με τη μορφή της εκτέλεσης όλων των εγγεγραμμένων λειτουργικών μονάδων HTTP σε κάθε αίτημα, όχι μόνο σε διαχειριζόμενα αιτήματα (π.χ. .aspx). Αυτό σημαίνει ότι οι ενότητες θα λειτουργούν ανά πάσα .jpg .gif .css .html .pdf κ.λπ.

Το runAllManagedModulesForAllRequests είναι σαν ένας διακόπτης καναλιού για λειτουργικές μονάδες IIS και αιτήματα, εάν αυτός ο διακόπτης είναι ενεργοποιημένος, τότε όλα τα αιτήματα που έχουν πρόσβαση σε αυτόν τον ιστότοπο θα μεταβούν σε Modules για επεξεργασία, το οποίο περιλαμβάνει ορισμένα αιτήματα στατικών αρχείων, το οποίο είναι επίσης το πιο κοινό είδος αιτημάτων "δεν χρειάζεται επεξεργασία", επειδή το αίτημα εισέρχεται σε Modules, τότε πρέπει να υπάρχει ένα αντίστοιχο πρόγραμμα για την επεξεργασία του. Αυτό προκαλεί περιττή επιβάρυνση απόδοσης, επειδή τα στατικά αρχεία είναι μόνο για εμφάνιση, δεν χρειάζεται να κάνετε καθόλου επεξεργασία μονάδων, οι μικροί ιστότοποι δεν έχουν σημασία, όταν ορισμένες μεγάλες φωτοβολταϊκές τοποθεσίες κάνουν το ίδιο, θα προκαλέσει κάποια «πίεση» στην επεξεργασία του προγράμματος Modules του IIS και το συμπέρασμα που συνοψίζεται σε μια ανάρτηση ιστολογίου παραπάνω είναι τα απόβλητα (απόβλητα... ) και δυναμικό (δυνητικό... )。

Ας κάνουμε μια δοκιμή με Application_BeginRequest για να δούμε ποιες αιτήσεις καταγράφονται για διαφορετικές ρυθμίσεις παραμέτρων του runAllManagedModulesForAllRequests και να δοκιμάσουμε το δείγμα κώδικα:


runAllManagedModulesForAllRequests="fasle", data.txt log:
http://localhost:55127/
http://localhost:55127/bundles/test2?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1
http://localhost:55127/bundles/test1?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1

runAllManagedModulesForAllRequests="true", data.txt εγγραφή:

http://localhost:55127/
http://localhost:55127/bundles/test2?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1
http://localhost:55127/bundles/test1?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1
http://localhost:55127/Content/logo_small_1.gif
http://localhost:55127/Content/logo_small_4.gif
http://localhost:55127/Content/logo_small_2.gif
http://localhost:55127/Content/logo_small_3.gif

logo_small_* Η εικόνα είναι αυτό που πρόσθεσα στην προβολή, αυτό είναι απλώς ένα αίτημα για δοκιμή μιας στατικής εικόνας, εάν βρίσκεστε σε μεγάλο ιστότοπο, προσθέστε τον κωδικό δοκιμής αιτήματος και, στη συνέχεια, ανανεώστε τη σελίδα, θα διαπιστώσετε ότι υπάρχουν πολλά αιτήματα χωρίς νόημα. Ίσως κοιτάξετε το αρχείο δοκιμής παραπάνω, δεν φαίνεται να εξηγεί κανένα πρόβλημα, αλλά φανταστείτε, εάν ένας ιστότοπος με πολλά στατικά αρχεία και, στη συνέχεια, ο αριθμός των επισκέψεων είναι δεκάδες εκατομμύρια και ο ιστότοπος περιέχει πολλές σελίδες, αν και είναι ένα μικρό πρόβλημα, θα μεγεθυνθεί απεριόριστα και τελικά διαπιστώσετε ότι είναι απλώς ένα πρόβλημα διαμόρφωσης.

Αυτό ήταν, θα αλλάξω τον κώδικα.





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

Mail To:help@itsvse.com