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.
|