I forrige artikkel er det et annet legacy-problem som ikke er løst, nemlig at ASP.NET MVC MapRoute .htm ikke fungerer, hvordan løser du det hvis du ikke bruker runAllManagedModulesForAllRequests="true"? Senere fant jeg en løsning:
Referanse: ASP.NET MVC: Rute en .html forespørsel til en MVC-rute
Jeg diskuterte hvorfor du bør prøve å ikke bruke runAllManagedModulesForAllRequests="true", og så fant jeg to relaterte artikler:
Kunsten å være enkel: Optimaliser ytelsen til webapplikasjonene dine: Ikke bruk runAllManagedModulesForAllRequests="true". Ikke bruk runAllManagedModulesForAllRequests="true" når du får MVC-rutingen til å fungere Utdrag fra en beskrivelse i teksten:
Denne sterkt anbefalte løsningen kan føre til andre problemer. Disse problemene oppstår i form av at alle registrerte HTTP-moduler kjører på hver forespørsel, ikke bare på administrerte forespørsler (f.eks. .aspx). Dette betyr at moduler vil kjøre på alle .jpg .gif .css .html .pdf osv. runAllManagedModulesForAllRequests er som en kanalsvitsj for IIS-moduler og forespørsler; hvis denne bryteren slås på, vil alle forespørsler som får tilgang til dette stedet gå inn i Modules for behandling, som inkluderer noen statiske filforespørsler, som også er den vanligste typen «ingen behov for behandling»-forespørsler, fordi forespørselen går inn i moduler, og da må det finnes et tilsvarende program for å behandle den. Dette fører til unødvendig ytelsesbelastning, fordi statiske filer kun er for visning, det er ikke nødvendig å behandle moduler i det hele tatt, små steder spiller ingen rolle, når noen store PV-steder gjør det samme, vil det skape noe "press" på IIS sin modulprogrambehandling, og konklusjonen oppsummert i et blogginnlegg ovenfor er sløsing (sløsing... ) og potensial (potensial... )。
La oss teste med Application_BeginRequest for å se hvilke forespørsler som logges for ulike konfigurasjoner av runAllManagedModulesForAllRequests, og teste eksempelkoden:
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 post:
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_* Bildet er det jeg la til i visningen, dette er bare en forespørsel om å teste et statisk bilde, hvis du er på et stort nettsted, legg til forespørselstestkoden og oppdater siden, vil du oppdage at det er mange meningsløse forespørsler. Kanskje du ser på testposten ovenfor, den ser ikke ut til å forklare noe problem, men bare tenk deg at hvis et nettsted har mange statiske filer, og så er antallet besøk titalls millioner, og siden inneholder mange sider, selv om det er et lite problem, vil det bli uendelig forstørret, og til slutt finner du ut at det bare er et konfigurasjonsproblem.
Det er det, jeg skal endre koden.
|