En el artículo anterior, hay otro problema heredado que no se ha resuelto, es decir, ASP.NET MVC MapRoute .htm no funciona, ¿cómo solucionarlo si no usas runAllManagedModulesForAllRequests="true"? Más tarde, encontré una solución:
Referencia: ASP.NET MVC: Ruta de una solicitud de .html a una ruta MVC
Hablé de por qué deberías intentar no usar runAllManagedModulesForAllRequests="true", y luego encontré dos artículos relacionados:
El arte de la simplicidad: Optimiza el rendimiento de tus aplicaciones web: No uses runAllManagedModulesForAllRequests="true". No uses runAllManagedModulesForAllRequests="true" cuando consigas que tu enrutamiento MVC funcione Extracto de una descripción en el texto:
Esta solución muy recomendada puede causar otros problemas. Estos problemas se presentan en forma de que todos tus módulos HTTP registrados funcionen en cada solicitud, no solo en las solicitudes gestionadas (por ejemplo, .aspx). Esto significa que los módulos funcionarán en cada .jpg .gif .css .html .pdf etc. runAllManagedModulesForAllRequests es como un conmutador de canal para módulos y solicitudes IIS; si este interruptor está activado, todas las solicitudes que acceden a este sitio irán a Módulos para su procesamiento, que incluye algunas solicitudes de archivo estáticas, que también son el tipo más común de solicitudes de "no necesidad de procesar", porque la solicitud entra en Módulos, entonces debe haber un programa correspondiente para procesarla. Esto genera una sobrecarga de rendimiento innecesaria, porque los archivos estáticos solo son para mostrar, no es necesario procesar módulos en absoluto, los sitios pequeños no importan, cuando algunos sitios fotovoltaicos grandes hacen lo mismo, eso genera cierta "presión" sobre el procesamiento del programa de módulos de IIS, y la conclusión resumida en una entrada de blog arriba es un desperdicio (residuos... ) y potencial (potencial... )。
Hagamos una prueba con Application_BeginRequest para ver qué peticiones se registran para diferentes configuraciones de runAllManagedModulesForAllRequests, y probemos el código de ejemplo:
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 registro:
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_* La imagen es lo que añadí en la vista, esto es solo una petición para probar una imagen estática; si estás en un sitio grande, añades el código de prueba de la solicitud y luego actualizas la página, verás que hay muchas peticiones sin sentido. Quizá mires el registro de prueba de arriba, no parece explicar ningún problema, pero imagina que un sitio con muchos archivos estáticos, y luego el número de visitas es de decenas de millones, y el sitio contiene muchas páginas, aunque es un problema pequeño, se ampliará infinitamente, y finalmente descubres que es solo un problema de configuración.
Eso es, voy a cambiar el código.
|