Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14502|Atsakyti: 0

[ASP.NET] Styles.Render sukelia mintį runAllManagedModulesForAllRequests=true

[Kopijuoti nuorodą]
Paskelbta 2016-10-13 15:02:09 | | |
Ankstesniame straipsnyje yra dar viena senoji problema, kuri nebuvo išspręsta, tai yra, ASP.NET MVC MapRoute .htm neveikia, kaip ją išspręsti, jei nenaudojate runAllManagedModulesForAllRequests="true"? Vėliau radau sprendimą:



Nuoroda: ASP.NET MVC: .html užklausos nukreipimas į MVC maršrutą

Aptariau, kodėl turėtumėte stengtis nenaudoti runAllManagedModulesForAllRequests="true", ir tada radau du susijusius straipsnius:

Paprastumo menas: optimizuokite žiniatinklio programų našumą: nenaudokite runAllManagedModulesForAllRequests="true".
Nenaudokite runAllManagedModulesForAllRequests="true", kai MVC maršruto parinkimas veikia
Ištrauka iš aprašymo tekste:

Šis labai rekomenduojamas pataisymas gali sukelti kitų problemų. Šios problemos kyla dėl to, kad visi jūsų registruoti HTTP moduliai veikia pagal kiekvieną užklausą, o ne tik valdomas užklausas (pvz., .aspx). Tai reiškia, kad moduliai veiks visą .jpg .gif .css .html .pdf ir pan.

runAllManagedModulesForAllRequests yra tarsi IIS modulių ir užklausų kanalo jungiklis, jei šis jungiklis įjungtas, tada visos užklausos, kurios pasiekia šią svetainę, pateks į modulius apdoroti, įskaitant kai kurias statinių failų užklausas, kurios taip pat yra labiausiai paplitusios "nereikia apdoroti" užklausų rūšis, nes užklausa patenka į modulius, tada turi būti atitinkama programa, kad ją apdorotų. Tai sukelia nereikalingų našumo išlaidų, nes statiniai failai yra tik rodyti, nereikia daryti modulių apdorojimo visiems, mažos svetainės nesvarbu, kai kai kurios didelės PV svetainės daro tą patį, tai sukels tam tikrą "spaudimą" IIS modulių programos apdorojimui, o aukščiau pateiktame tinklaraščio įraše apibendrinta išvada yra atliekos (atliekos... ) ir potencialus (potencialus... )。

Atlikime testą su Application_BeginRequest, kad pamatytume, kokios užklausos registruojamos skirtingoms runAllManagedModulesForAllRequests konfigūracijoms, ir išbandykime kodo pavyzdį:


runAllManagedModulesForAllRequests="fasle", data.txt žurnalą:
http://localhost:55127/
http://localhost:55127/bundles/test2?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1
http://localhost:55127/bundles/test1?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1

runAllManagedModulesForAllRequests="true", data.txt įrašas:

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_* Vaizdas yra tai, ką pridėjau rodinyje, tai tik prašymas išbandyti statinį vaizdą, jei esate didelėje svetainėje, pridėkite užklausos bandymo kodą ir atnaujinkite puslapį, pamatysite, kad yra daug beprasmių užklausų. Galbūt pažvelgsite į aukščiau pateiktą bandymo įrašą, atrodo, kad jis nepaaiškina jokios problemos, bet tik įsivaizduokite, jei svetainė su daugybe statinių failų, o tada apsilankymų skaičius yra dešimtys milijonų, o svetainėje yra daug puslapių, nors tai yra nedidelė problema, ji bus be galo padidinta, ir galiausiai pamatysite, kad tai tik konfigūracijos problema.

Viskas, aš pakeisiu kodą.





Ankstesnis:C# žodyno raktas rūšiuoti
Kitą:asp.net Prieiga prie statinių išteklių MVC maršrutuose
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com