2011-10-14 11 views
13

que he añadido a través Mini ProfilerNuGet y aunque en un proyecto muy simple funciona preciosa, este es un proyecto grande y existentes, y por supuesto que estoy recibiendo algunos problemas con ella :(Mini Profiler no hace que los scripts

que escribe las etiquetas de secuencia de comandos correctos en el código fuente como

<link rel="stylesheet" type="text/css" href="/mini-profiler-includes.css?v=1.9.0.0"> 
<script type="text/javascript">  
    if (!window.jQuery) document.write(unescape("%3Cscript src='/mini-profiler-jquery.1.6.2.js' type='text/javascript'%3E%3C/script%3E"));  
    if (!window.jQuery || !window.jQuery.tmpl) document.write(unescape("%3Cscript src='/mini-profiler-jquery.tmpl.beta1.js' type='text/javascript'%3E%3C/script%3E"));  
</script>  
<script type="text/javascript" src="/mini-profiler-includes.js?v=1.9.0.0"></script>  
<script type="text/javascript">  
    jQuery(function() {  
     MiniProfiler.init({  
      ids: ["e48fcf61-41b0-42e8-935a-fbb1965fc780","870a92db-89bc-4b28-a410-9064d6e578df","30881949-bfdb-4e3a-9ea5-6d4b73c28c1d","6bca31b8-69d9-48eb-b86e-032f4d75f646","df16838d-b569-47d0-93e6-259c03322394"],  
      path: '/',  
      version: '1.9.0.0',  
      renderPosition: 'left',  
      showTrivial: false,  
      showChildrenTime: false,  
      maxTracesToShow: 15  
     });  
    });  
</script> 

Pero cuando intento abrir cualquier archivo, aparece un HTTP 404

enter image description here

que se verifica que no hay una MiniProfiler.cs bajo App_Start y la adición de un punto de quiebre allí, se ejecuta el código , incluso añadí

#region Mini Profiler 

protected void Application_BeginRequest() 
{ 
    if (Request.IsLocal) 
    { 
     MiniProfiler.Start(); 
    } 
} 
protected void Application_EndRequest() 
{ 
    MiniProfiler.Stop(); 
} 

#endregion 

al archivo global.asax ...

Is there something obviously that I'm missing?

+0

¿Es este un sitio de MVC? – scottm

+0

sí, disculpe la etiqueta perdida – balexandre

+0

Supongo que es un problema, ¿qué versión está ejecutando? –

Respuesta

11

Este es un problema conocido con ciertas configuraciones de IIS.

La solución consiste en asegurar la UrlRoutingModule maneja todos los mini Profiler incluye en su web.config:

<system.webServer> 
    <handlers> 
     <add name="UrlRoutingModule1" path="mini-profiler*.js" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
     <add name="UrlRoutingModule2" path="mini-profiler*.css" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
     <add name="UrlRoutingModule3" path="mini-profiler*.tmpl" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
    </handlers> 
</system.webServer> 

Hay 2 entradas abiertas sobre este tema en la actualidad

En una versión futura, para evitar el problema, probablemente proporcionaremos nuestro incluye sin extensión.

+0

Estaba viendo errores de "Uncaught ReferenceError:" MiniProfiler "no está definido" en Chrome cuando se ejecuta en IIS Express. Este error estaba causando que todos nuestros otros scripts listos para documentos no se ejecutaran, rompiendo todo nuestro sitio. Este resultó ser el problema. –

+0

Esto resolvió el problema para mí usando IIS7 y una configuración predeterminada. ¡Gracias! Asegúrese de verificar también la sección "Solución de problemas" en la página de inicio de MiniProfiler. –

+4

En MVC4 (plantilla de Internet) seguí obteniendo el 404 para requires.js hasta que agregué en la sección . Si no desea utilizar rullAllManagedModulesForAllRequests, consulte este hilo http://stackoverflow.com/questions/10212725/miniprofiler-cannot-find-jquery para obtener una solución alternativa, probé ambos y funcionan bien. – sumitkm

Cuestiones relacionadas