对于ASP.NET MVC 4网站,我使用MiniProfiler v3.2.0.157和MiniProfiler.EF6 v3.0.11和C#。虽然我可以让分析器显示在网站上的大多数页面上,但它不会显示在登录页面上。
我已尝试过这里建议的所有内容: MiniProfiler not showing up on asp.net MVC 在这里:Using MiniProfiler with MVC 5 没有成功。
更新:我还尝试了这里描述的甜甜圈缓存技术: Donut hole caching - exclude MiniProfiler.RenderIncludes
我注意到,对于有效的网页,如果Application_BeginRequest
上的MiniProfiler.Start()
右侧有一个断点,MiniProfiler.Current
就会对我们大多数网页的请求都有一个值,但是在我们的目标网页请求的情况下,此时它为空。 Landing页面似乎没有什么特别之处会导致问题。
我的代码的重要部分如下所示。
的Global.asax.cs:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (Request.IsLocal)
{
MiniProfiler.Start();
}
}
protected void Application_EndRequest()
{
MiniProfiler.Stop(discardResults: false);
}
的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>
&#13;
布局页面:
@using StackExchange.Profiling;
<head>
...
</head>
<body>
...
@MiniProfiler.RenderIncludes()
</body>
目标网页控制器:
using StackExchange.Profiling;
...
public ActionResult Landing()
{
var profiler = MiniProfiler.Current;
using (profiler.Step("Content Controller Landing"))
{
var user = ...;
return View(...);
}
}
答案 0 :(得分:0)
这是我的答案MiniProfiler not showing up on asp.net MVC
结论,请确保您已在Application_Start()中添加了代码
protected void Application_Start()
{
...
MiniProfiler.Configure(new MiniProfilerOptions());//default setting
MiniProfilerEF6.Initialize();
}