Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14502|Odpověď: 0

[ASP.NET] Styles.Render vyvolává myšlenku runAllManagedModulesForAllRequests=true

[Kopírovat odkaz]
Zveřejněno 13.10.2016 15:02:09 | | |
V předchozím článku existuje další problém s legacy, který nebyl vyřešen, a totiž, ASP.NET MVC MapRoute .htm nefunguje, jak jej vyřešit, pokud nepoužíváte runAllManagedModulesForAllRequests="true"? Později jsem našel řešení:



Reference: ASP.NET MVC: Směrovat .html požadavek na trasu MVC

Diskutoval jsem, proč byste se neměli snažit používat runAllManagedModulesForAllRequests="true", a pak jsem našel dva související články:

Umění jednoduchosti: Optimalizujte výkon svých webových aplikací: Nepoužívejte runAllManagedModulesForAllRequests="true".
Nepoužívejte runAllManagedModulesForAllRequests="true" při rozchodu směrování MVC
Úryvek z popisu v textu:

Tato vysoce doporučená oprava může způsobit další problémy. Tyto problémy se projevují tím, že všechny registrované HTTP moduly běží na každém požadavku, nejen na spravované požadavky (např. .aspx). To znamená, že moduly budou běžet na každém .jpg .gif .css .html .pdf atd.

runAllManagedModulesForAllRequests je jako přepínač kanálů pro moduly IIS a požadavky, pokud je tento přepínač zapnutý, pak všechny požadavky, které přistupují na tuto stránku, půjdou do modulů ke zpracování, což zahrnuje některé statické požadavky na soubory, což je také nejběžnější typ "není třeba zpracovávat" požadavků, protože požadavek vstupuje do modulů, pak musí existovat odpovídající program, který jej zpracuje. To způsobuje zbytečný výkonový přetížek, protože statické soubory slouží jen k zobrazení, není potřeba vůbec zpracovávat moduly, malé stránky nejsou důležité, když to dělají i velké PV stanice, způsobí to určitý "tlak" na zpracování programů modulů v IIS, a závěr shrnutý v blogovém příspěvku výše je plýtvání (plýtváním... ) a potenciál (potenciál... )。

Provedeme test s Application_BeginRequest, abychom zjistili, jaké požadavky jsou zaznamenány pro různé konfigurace runAllManagedModulesForAllRequests, a otestujme ukázkový 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ázek jsem přidal do zobrazení, je to jen požadavek na otestování statického obrázku, pokud jste na velkém webu, přidejte testovací kód požadavku a pak stránku obnovte, zjistíte, že je tam spousta bezvýznamných požadavků. Možná se podíváte na výše uvedený testovací záznam, nezdá se, že by to vysvětlovalo nějaký problém, ale představte si, že web má spoustu statických souborů, počet návštěv je desítky milionů a stránka obsahuje mnoho stránek, i když je to malý problém, bude nekonečně zvětšen, a nakonec zjistíte, že jde jen o konfigurační problém.

To je vše, změním kód.





Předchozí:Klíč slovníku C# pro třídění
Další:asp.net Přístup ke statickým zdrojům v trasách MVC
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com