asp.net mvc 3 - Ejecutar MiniProfiler con runAllManagedModulesForAllRequests establecido en falso
asp.net-mvc-3 web-config (3)
Recientemente hemos actualizado a MiniProfiler versión 2.0.1 desde v1.7, y desde entonces no hemos podido utilizarlo en nuestro sitio web MVC3 porque cuando trata de obtener sus recursos, en cambio obtiene un 404.
Un ejemplo de llamada de recurso es: /mini-profiler-resources/includes.js?v=tNlJPuyuHLy/d5LQjyDuRbWKa0weCpmO3xkO6MH4TtA=
Al buscar, la mayoría de las personas sugiere que simplemente estableciendo runAllManagedModulesForAllRequests
debería establecerse en true
. Para risitas, seguí adelante y lo configuré como cierto, y sí funcionó. Pero esa no es una respuesta aceptable.
¿Cómo puedo mantener runAllManagedModulesForAllRequests=false
y seguir usando MiniProfiler v2?
Como dice David Duffet en los comentarios en la respuesta aceptada, es posible que también deba agregar la siguiente entrada a su configuración web. Esto funcionó para mí:
<system.web>
<httpHandlers>
<add verb="*" type="System.Web.Routing.UrlRoutingModule" path="mini-profiler-resources/*"/>
</httpHandlers>
</system.web>
Tuve el mismo problema: los recursos que se solicitan utilizan extensiones de archivos "estáticos" (como .js
) y, por lo tanto, IIS desea manejarlos utilizando su controlador de archivos estáticos.
Afortunadamente, todos los recursos de MiniProfiler se solicitan con la ruta mini-profiler-resources
, por lo que puede agregar lo siguiente a su web.config
:
<system.webServer>
...
<handlers>
<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
La entrada de arriba indica a IIS que cualquier solicitud para la ruta de mini-profiler-resources
miniprofilador se enrutará a través de ASP.NET.
Tuve un problema similar y lo que hice para solucionarlo fue cambiar el grupo de aplicaciones a ''integrado'' y luego agregué esta nueva línea a mi web.config y luego funcionó.
Aquí está el aspecto completo de web.config ahora para miniperfil.
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" />
<validation validateIntegratedModeConfiguration="false"/> <!-- Here is the new line -->
<handlers>
<add name="MiniProfiler" verb="*" type="System.Web.Routing.UrlRoutingModule" path="mini-profiler-resources/*"/>
</handlers>
</system.webServer>