MiniProfiler找不到jquery

时间:2012-04-18 15:28:10

标签: mvc-mini-profiler

我一直在使用MiniProfiler来衡量网站性能。当我从1.9版升级到2.0版时,它停止了工作。我将命名空间从MvcMiniProfiler更改为StackExchange.Profiling。但是当我加载页面时,fiddler显示以下请求有404错误:

获取/local/mini-profiler-resources/jquery.1.7.1.js?v=tNlJPuyuHLy/d5LQjyDuRbWKa0weCpmO3xkO6MH4TtA=HTTP/1.1

这可以防止结果在页面中呈现。

要使1.9版本的MiniProfiler工作,我必须在Web.Config文件中有以下条目(如this post中所述):

  <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>

我试图让MiniProfiler 2.0与配置文件中包含的那些一起运行并排除它们,但两种方式都没有。

这是在IIS Express中的我的开发计算机上运行。

我的应用是一个使用Forms安全性的WebForms应用。

如何解决此问题?

6 个答案:

答案 0 :(得分:26)

看起来这是一个常见问题,只需将其添加到web.config即可。

Running MiniProfiler with runAllManagedModulesForAllRequests set to false

<system.webServer>
...
  <handlers>
    <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
  </handlers>
</system.webServer>

答案 1 :(得分:1)

我最终要做的是在我的服务器上创建一个文件夹调用mini-profiler-resources,然后将StackExchange.Profiling / UI中的所有文件复制到其中。不知道为什么这会有效。我猜我错过了一些服务器设置,因为我只需要在生产系统上执行此操作。一切都运作良好的开发。

答案 2 :(得分:1)

对我来说,当我编写以下代码时,它开始工作

 protected void Application_EndRequest()
        {
            MiniProfiler.Stop();
        }

而不是

 protected void Application_End(object sender, EventArgs e)
        {
            //  Code that runs on application shutdown
        MiniProfiler.Stop();
        }

答案 3 :(得分:0)

尝试通过从Windows \ Microsoft.NET目录下的相应.NET Framework文件夹运行aspnet_regiis -i来重新注册ASP.NET。我有类似的问题通过重新注册ASP.NET处理程序来解决。

我认为在安装.NET Framework后在IIS中安装静态文件服务功能后出现此问题。

答案 4 :(得分:0)

我不知道ASP.NET,但在Rails中我解决了它删除tmp / miniprofiler文件。当我重新加载页面时,它可以工作。

答案 5 :(得分:0)

要修复此问题,我必须将DefaultAppPool从Classic更改为Integrated。

这解决了这个问题。

此外,由于我使用的是MVC4,我必须下载MiniProfiler的源代码并使用MVC4库进行编译。