Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14502|Respuesta: 0

[ASP.NET] Styles.Render provoca la idea de runAllManagedModulesForAllRequests=true

[Copiar enlace]
Publicado en 13/10/2016 15:02:09 | | |
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.





Anterior:Clave de diccionario C# para ordenar
Próximo:asp.net Acceso a recursos estáticos en rutas MVC
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com