Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14502|Odpoveď: 0

[ASP.NET] Styles.Render vyvoláva myšlienku runAllManagedModulesForAllRequests=true

[Kopírovať odkaz]
Zverejnené 13. 10. 2016 15:02:09 | | |
V predchádzajúcom článku existuje ďalší problém s legacy, ktorý nebol vyriešený, a to, ASP.NET MVC MapRoute .htm nefunguje, ako ho vyriešiť, ak nepoužívate runAllManagedModulesForAllRequests="true"? Neskôr som našiel riešenie:



Referencia: ASP.NET MVC: Nasmerujte .html požiadavku na trasu MVC

Diskutoval som, prečo by ste nemali používať runAllManagedModulesForAllRequests="true", a potom som našiel dva súvisiace články:

Umenie jednoduchosti: Optimalizujte výkon svojich webových aplikácií: Nepoužívajte runAllManagedModulesForAllRequests="true".
Nepoužívajte runAllManagedModulesForAllRequests="true" pri rozchode smerovania MVC
Úryvok z popisu v texte:

Táto vysoko odporúčaná oprava môže spôsobiť ďalšie problémy. Tieto problémy sa prejavujú v tom, že všetky vaše registrované HTTP moduly bežia na každej požiadavke, nielen na spravované požiadavky (napr. .aspx). To znamená, že moduly budú bežať na Every .jpg .gif .css .html .pdf a podobne.

runAllManagedModulesForAllRequests je ako prepínač kanálov pre IIS moduly a požiadavky, ak je tento prepínač zapnutý, všetky požiadavky, ktoré pristupujú na túto stránku, pôjdu do modulov na spracovanie, čo zahŕňa aj niektoré statické požiadavky na súbory, čo je tiež najbežnejší typ požiadaviek typu "nie je potrebné spracovávať", pretože požiadavka vstupuje do modulov, potom musí existovať zodpovedajúci program, ktorý ju spracuje. To spôsobuje zbytočnú výkonnostnú záťaž, pretože statické súbory slúžia len na zobrazenie, nie je potrebné vôbec spracovávať moduly, malé lokality nie sú dôležité, keď niektoré veľké PV stanice robia to isté, spôsobuje to určitý "tlak" na spracovanie modulov v IIS, a záver zhrnutý v blogovom príspevku vyššie je plytvanie (plytvanie... ) a potenciál (potenciál... )。

Urobme test s Application_BeginRequest, aby sme zistili, aké požiadavky sa zaznamenávajú pre rôzne konfigurácie runAllManagedModulesForAllRequests, a otestujme ukážkový kód:


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 záznam:

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_* Obrázok je to, čo som pridal do zobrazenia, je to len požiadavka na testovanie statického obrázka, ak ste na veľkej stránke, pridajte testovací kód požiadavky a potom stránku obnovte, zistíte, že je tam veľa bezvýznamných požiadaviek. Možno sa pozriete na testovací záznam vyššie, nezdá sa, že by vysvetľoval žiadny problém, ale predstavte si, že stránka má veľa statických súborov, počet návštev je desiatky miliónov a stránka obsahuje veľa stránok, hoci je to malý problém, bude nekonečne zväčšený a nakoniec zistíte, že ide len o konfiguračný problém.

To je všetko, zmením kód.





Predchádzajúci:C# slovníkový kľúč na triedenie
Budúci:asp.net Prístup k statickým zdrojom v MVC trasách
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com