В предишната статия има друг наследен проблем, който не е решен, а именно ASP.NET MVC MapRoute .htm не работи, как да го решите, ако не използвате runAllManagedModulesForAllRequests="true"? По-късно намерих решение:
Референция: ASP.NET MVC: Пренасочете заявка за .html към MVC маршрут
Обсъдих защо трябва да се опитваш да не използваш runAllManagedModulesForAllRequests="true", и после намерих две свързани статии:
Изкуството на простотата: Оптимизирайте производителността на уеб приложенията си: Не използвайте runAllManagedModulesForAllRequests="true". Не използвайте runAllManagedModulesForAllRequests="true", когато накарате MVC маршрутизирането да работи Откъс от описание в текста:
Това силно препоръчвано решение може да причини други проблеми. Тези проблеми се проявяват в това, че всички регистрирани HTTP модули работят при всяка заявка, а не само управлявани (например .aspx). Това означава, че модулите ще работят на всеки .jpg .gif .css .html .pdf и т.н. runAllManagedModulesForAllRequests е като канален превключвател за IIS модули и заявки, ако този превключвател е включен, всички заявки, които достъпват този сайт, ще отидат в Модули за обработка, което включва някои статични заявки за файлове, което е и най-често срещаният вид "няма нужда от обработка" заявки, тъй като заявката влиза в Модули, тогава трябва да има съответна програма, която да я обработва. Това причинява излишни разходи за производителност, защото статичните файлове са само за показване, няма нужда от обработка на модули, малките обекти нямат значение, когато някои големи фотоволтаични обекти правят същото, това ще създаде известен "натиск" върху обработката на програмите на модулите на IIS, а заключението, обобщено в блог пост по-горе, е загуба (разхищение... ) и потенциал (потенциален... )。
Нека направим тест с Application_BeginRequest, за да видим какви заявки се регистрират за различни конфигурации на runAllManagedModulesForAllRequests, и да тестваме примерния код:
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 record:
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_* Изображението е това, което добавих в изгледа, това е просто заявка за тестване на статично изображение, ако сте на голям сайт, добавите тест кода за заявка и след това обновите страницата, ще откриете, че има много безсмислени заявки. Може би погледнете тестовия запис по-горе, той не изглежда да обяснява никакъв проблем, но си представете, ако сайт има много статични файлове, а броят на посещенията е десетки милиони, и сайтът съдържа много страници, макар и да е малък проблем, той ще бъде безкрайно увеличен и накрая ще откриете, че това е просто проблем с конфигурацията.
Това е, ще сменя кода.
|