Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 14502|Ответ: 0

[ASP.NET] Styles.Render вызывает мысль runAllManagedModulesForAllRequests=true

[Скопировать ссылку]
Опубликовано 13.10.2016 15:02:09 | | |
В предыдущей статье есть ещё одна наследственная проблема, которая не была решена: 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 модулей и запросов, если этот коммутатор включён, то все запросы, получающие доступ к этому сайту, попадают в модули для обработки, включая некоторые статические файловые запросы, что также является самым распространённым видом запросов «не нужно обрабатывать», потому что запрос входит в модули, значит, должна быть соответствующая программа для его обработки. Это создаёт ненужные накладные нагрузки на производительность, потому что статические файлы предназначены только для отображения, нет необходимости заниматься обработкой модулей, маленькие площадки не имеют значения, когда крупные фотоэлектрические объекты делают то же самое, это создаёт некоторое «давление» на обработку программ Modules в 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 запись:

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_* Изображение — это то, что я добавил в вид, это просто запрос на тестирование статичного изображения, если вы на большом сайте, добавьте код запроса и обновите страницу, вы обнаружите, что там много бессмысленных запросов. Возможно, вы посмотрите на тестовую запись выше, она не объясняет проблему, но представьте, что если сайт с большим количеством статических файлов, а количество посещений — десятки миллионов, и на сайте много страниц, хотя это небольшая проблема, она будет бесконечно увеличена, и в итоге вы обнаруживаете, что это просто проблема конфигурации.

Вот и всё, я собираюсь изменить код.





Предыдущий:Ключ словаря C# для сортировки
Следующий:asp.net Доступ к статическим ресурсам в маршрутах MVC
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com