Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 14502|Svar: 0

[ASP.NET] Styles.Render udløser tanken runAllManagedModulesForAllRequests=true

[Kopier link]
Opslået på 13/10/2016 15.02.09 | | |
I den forrige artikel er der et andet legacy-problem, som ikke er blevet løst, nemlig ASP.NET MVC MapRoute .htm ikke virker, hvordan løser man det, hvis man ikke bruger runAllManagedModulesForAllRequests="true"? Senere fandt jeg en løsning:



Reference: ASP.NET MVC: Videresend en .html anmodning til en MVC-rute

Jeg diskuterede, hvorfor man bør prøve ikke at bruge runAllManagedModulesForAllRequests="true", og så fandt jeg to relaterede artikler:

Kunsten at gøre det enkelt: Optimer ydeevnen af dine webapplikationer: Brug ikke runAllManagedModulesForAllRequests="true".
Brug ikke runAllManagedModulesForAllRequests="true" til at få din MVC-routing til at virke
Uddrag fra en beskrivelse i teksten:

Denne stærkt anbefalede løsning kan give andre problemer. Disse problemer opstår i form af, at alle dine registrerede HTTP-moduler kører på hver forespørgsel, ikke kun på administrerede forespørgsler (f.eks. .aspx). Det betyder, at modulerne kører på alle .jpg .gif .css .html .pdf osv.

runAllManagedModulesForAllRequests er som en kanalswitch for IIS-moduler og forespørgsler; hvis denne switch er tændt, vil alle forespørgsler, der får adgang til dette site, gå ind i Modules til behandling, hvilket inkluderer nogle statiske filanmodninger, hvilket også er den mest almindelige type "ingen behov for behandling"-forespørgsler, fordi anmodningen går ind i moduler, og der skal være et tilsvarende program til at behandle den. Dette medfører unødvendig ydeevneoverhead, fordi statiske filer kun er til visning, der er slet ikke behov for modulbehandling, små sites betyder ikke noget, når nogle store PV-sites gør det samme, vil det skabe et vist "pres" på IIS's modulers programbehandling, og konklusionen opsummeret i et blogindlæg ovenfor er spild (spild... ) og potentiale (potentiale... )。

Lad os lave en test med Application_BeginRequest for at se, hvilke forespørgsler der logges for forskellige konfigurationer af 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_* Billedet er det, jeg tilføjede i visningen, det er bare en anmodning om at teste et statisk billede, hvis du er på et stort site, tilføj anmodningstestkoden og opdater siden derefter, vil du opdage, at der er mange meningsløse forespørgsler. Måske kigger du på testposten ovenfor, den ser ikke ud til at forklare noget problem, men forestil dig bare, hvis et site med mange statiske filer, og antallet af besøg er titusinder af millioner, og siden indeholder mange sider, selvom det er et lille problem, vil det blive uendeligt forstørret, og til sidst finder du ud af, at det bare er et konfigurationsspørgsmål.

Det er det, jeg vil ændre koden.





Tidligere:C# ordbogsnøgle til sortering
Næste:asp.net Adgang til statiske ressourcer i MVC-ruter
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com