Edellisessä artikkelissa on toinen perintöongelma, jota ei ole ratkaistu, eli ASP.NET MVC MapRoute .htm ei toimi, miten sen voi ratkaista, jos et käytä runAllManagedModulesForAllRequests="true"? Myöhemmin löysin ratkaisun:
Viite: ASP.NET MVC: Reititä .html-pyyntö MVC-reitille
Keskustelin siitä, miksi sinun pitäisi yrittää olla käyttämättä runAllManagedModulesForAllRequests="true", ja sitten löysin kaksi aiheeseen liittyvää artikkelia:
Yksinkertaisuuden taito: Optimoi web-sovellustesi suorituskyky: Älä käytä runAllManagedModulesForAllRequests="true". Älä käytä runAllManagedModulesForAllRequests="true" -toimintoa, kun saat MVC-reitityksen toimimaan Katkelma tekstin kuvauksesta:
Tämä erittäin suositeltu korjaus voi aiheuttaa muitakin ongelmia. Nämä ongelmat ilmenevät siinä, että kaikki rekisteröidyt HTTP-moduulit toimivat jokaisessa pyynnössä, eivät vain hallituissa pyynnöissä (esim. .aspx). Tämä tarkoittaa, että moduulit toimivat kaikilla .jpg .gif .css .html .pdf jne. runAllManagedModulesForAllRequests on kuin kanavakytkin IIS-moduuleille ja pyynnöille, ja jos tämä kytkin on päällä, kaikki pyynnöt, jotka pääsevät tälle sivustolle, menevät Modules-osioon käsiteltäväksi, joka sisältää joitakin staattisia tiedostopyyntöjä, mikä on myös yleisin "ei tarvitse käsitellä" -pyyntöjä, koska pyyntö menee Modulesiin, täytyy olla vastaava ohjelma käsittelemään sitä. Tämä aiheuttaa tarpeetonta suorituskyvyn ylikuormitusta, koska staattiset tiedostot ovat vain näyttöä varten, moduulien käsittelyä ei tarvita lainkaan, pienet sivustot eivät merkitse mitään, kun jotkut suuret PV-sivustot tekevät saman, se aiheuttaa jonkin verran "painetta" IIS:n Modules-ohjelmien käsittelyyn, ja yllä olevassa blogikirjoituksessa tiivistetty johtopäätös on hukkaa (hukkaa... ) ja potentiaali (potentiaali... )。
Tehdään testi Application_BeginRequest:n kanssa nähdäksemme, mitä pyyntöjä kirjataan eri runAllManagedModulesForAllRequests-konfiguraatioille, ja testataan esimerkkikoodi:
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 tietue:
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_* Kuva on se, mitä lisäsin näkymään, tämä on vain pyyntö testata staattista kuvaa, jos olet suurella sivustolla, lisää pyyntötestikoodi ja päivitä sivu, huomaat, että siellä on paljon merkityksettömiä pyyntöjä. Ehkä katsot yllä olevaa testitietuetta, se ei tunnu selittävän mitään ongelmaa, mutta kuvittele, jos sivustolla on paljon staattisia tiedostoja, käyntien määrä on kymmeniä miljoonia ja sivustolla on paljon sivuja, vaikka se on pieni ongelma, se suurentuu äärettömästi, ja lopulta huomaat, että kyseessä on vain konfigurointiongelma.
Siinä se, aion muuttaa koodin.
|