我一直在使用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应用。
如何解决此问题?
答案 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库进行编译。