Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14502|Răspunde: 0

[ASP.NET] Styles.Render declanșează gândul runAllManagedModulesForAllRequests=true

[Copiază linkul]
Postat pe 13.10.2016 15:02:09 | | |
În articolul anterior, există o altă problemă moștenită care nu a fost rezolvată, și anume, ASP.NET MVC MapRoute .htm nu funcționează, cum să o rezolvi dacă nu folosești runAllManagedModulesForAllRequests="true"? Mai târziu, am găsit o soluție:



Referință: ASP.NET MVC: Rutează o cerere de .html către o rută MVC

Am discutat de ce ar trebui să încerci să nu folosești runAllManagedModulesForAllRequests="true", apoi am găsit două articole conexe:

Arta simplității: Optimizează performanța aplicațiilor tale web: Nu folosi runAllManagedModulesForAllRequests="true".
Nu folosi runAllManagedModulesForAllRequests="true" când faci rutarea MVC să funcționeze
Fragment dintr-o descriere din text:

Această soluție foarte recomandată poate cauza alte probleme. Aceste probleme apar sub forma faptului că toate modulele HTTP înregistrate rulează la fiecare cerere, nu doar la cererile gestionate (de exemplu, .aspx). Asta înseamnă că modulele vor rula pe fiecare .jpg .gif .css .html .pdf etc.

runAllManagedModulesForAllRequests este ca un comutator de canal pentru modulele și cererile IIS; dacă acest comutator este activat, toate cererile care accesează acest site vor merge în Module pentru procesare, ceea ce include unele cereri statice de fișiere, care sunt și cele mai comune tipuri de cereri "nu trebuie procesate", deoarece cererea intră în Module, atunci trebuie să existe un program corespunzător care să o proceseze. Acest lucru cauzează o suprasolicitare inutilă de performanță, deoarece fișierele statice sunt doar pentru afișare, nu este nevoie să se proceseze modulele deloc, site-urile mici nu contează, când unele site-uri PV mari fac la fel, se va crea o "presiune" asupra procesării programelor Modules din IIS, iar concluzia rezumată într-un articol de blog de mai sus este risipa (deșeuri... ) și potențial (potențial... )。

Hai să facem un test cu Application_BeginRequest pentru a vedea ce cereri sunt înregistrate pentru diferite configurații ale runAllManagedModulesForAllRequests și să testăm codul exemplu:


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 înregistrare:

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_* Imaginea este ceea ce am adăugat în vizualizare, aceasta este doar o cerere de a testa o imagine statică, dacă ești pe un site mare, adaugi codul de test al cererii și apoi reîmprospătezi pagina, vei vedea că sunt multe cereri fără sens. Poate te uiți la înregistrarea de test de mai sus, nu pare să explice nicio problemă, dar imaginează-ți că un site are multe fișiere statice, iar numărul de vizite este de zeci de milioane, iar site-ul conține multe pagini, deși este o problemă mică, va fi mărită infinit, iar în final descoperi că este doar o problemă de configurare.

Gata, o să schimb codul.





Precedent:Cheia dicționarului C# pentru sortare
Următor:asp.net Acces la resurse statice pe rutele MVC
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com