Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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-модулів і запитів, якщо цей перемикач увімкнено, то всі запити, що заходять на цей сайт, потрапляють у Модулі для обробки, що включає деякі статичні файлові запити, що також є найпоширенішим типом запитів «не потрібно обробляти», оскільки запит входить у Модулі, тоді має бути відповідна програма для його обробки. Це спричиняє зайві витрати на продуктивність, бо статичні файли призначені лише для відображення, немає потреби в обробці модулів взагалі, малі майданчики не мають значення, коли великі PV-майданчики роблять те саме, це створює певний «тиск» на обробку програм модулів 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