See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 14502|Vastuse: 0

[ASP.NET] Styles.Render käivitab mõtte runAllManagedModulesForAllRequests=true

[Kopeeri link]
Postitatud 13.10.2016 15:02:09 | | |
Eelnevas artiklis on veel üks pärandprobleem, mida pole lahendatud, nimelt ASP.NET MVC MapRoute .htm ei tööta, kuidas seda lahendada, kui sa ei kasuta runAllManagedModulesForAllRequests="true"? Hiljem leidsin lahenduse:



Viide: ASP.NET MVC: Suuna .html päring MVC marsruudile

Arutasin, miks peaksid proovima mitte kasutada runAllManagedModulesForAllRequests="true", ja siis leidsin kaks seotud artiklit:

Lihtsuse kunst: Optimeeri oma veebirakenduste jõudlust: ära kasuta runAllManagedModulesForAllRequests="true".
Ära kasuta runAllManagedModulesForAllRequests="true" MVC marsruutimise tööle saamisel
Katkend teksti kirjeldusest:

See väga soovitatav lahendus võib põhjustada muid probleeme. Need probleemid seisnevad selles, et kõik registreeritud HTTP moodulid töötavad iga päringu peal, mitte ainult hallatavate päringute puhul (nt .aspx). See tähendab, et moodulid töötavad igal .jpg .gif .css .html .pdf jne.

runAllManagedModulesForAllRequests on nagu kanalilüliti IIS moodulite ja päringute jaoks, kui see lüliti on sisse lülitatud, siis kõik taotlused, mis sellele saidile pääsevad, lähevad töötlemiseks moodulitesse, mis sisaldab ka mõningaid staatilisi failipäringuid, mis on ka kõige levinum "pole vaja töödelda" päringuid, sest päring siseneb moodulitesse, peab olema vastav programm, mis seda töötleb. See põhjustab tarbetut jõudluskoormust, sest staatilised failid on ainult kuvamiseks, moodulite töötlemist pole üldse vaja, väikesed saidid ei loe, kui mõned suured PV-jaamad teevad sama, tekitab see IIS-i moodulite programmitöötlusele "survet" ning ülaltoodud blogipostituses kokku võetud järeldus on raiskamine (raiskamine... ) ja potentsiaalne (potentsiaal... )。

Teeme testi Application_BeginRequest-ga, et näha, millised päringud on logitud erinevate runAllManagedModulesForAllRequests konfiguratsioonide jaoks, ja testime näidiskoodi:


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 kirje:

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_* Pilt on see, mille ma vaates lisasin, see on lihtsalt päring staatilise pildi testimiseks, kui oled suurel saidil, lisa päringu testkood ja värskenda lehte, leiad, et seal on palju mõttetuid päringuid. Võib-olla vaatad ülaltoodud testikirjet, see ei tundu probleemi selgitavat, aga kujuta ette, kui sait on palju staatilisi faile, külastuste arv on kümneid miljoneid ja lehekülgi on palju, kuigi see on väike probleem, suureneb see lõpmatult ja lõpuks avastad, et tegemist on lihtsalt konfiguratsiooniprobleemiga.

See on kõik, ma muudan koodi.





Eelmine:C# sõnastiku võti sorteerimiseks
Järgmine:asp.net Juurdepääs staatilistele ressurssidele MVC marsruutidel
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com