我正在将MiniProfiler v3.2.0.157和MiniProfiler.EF6 v3.0.11与C#一起用于ASP.NET MVC 4网站。虽然我可以使探查器显示在网站的大多数页面上,但它不会显示在登录页面上。
我已经尝试了这里建议的一切:
MiniProfiler not showing up on asp.net MVC
在这里:Using MiniProfiler with MVC 5
没有成功。
更新:我还尝试了此处介绍的Doughnut缓存技术:
Donut hole caching - exclude MiniProfiler.RenderIncludes
我注意到,对于可以正常运行的页面,如果Application_BeginRequest
上的MiniProfiler.Start()
中有一个断点,则MiniProfiler.Current
对于我们大多数页面的请求都有一个值,但是在请求我们的页面的情况下到达网页,目前为空。着陆页上似乎没有什么特别的东西会引起问题。
我的代码的重要部分如下所示。
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>
版面页面:
@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(...);
}
}
最佳答案
这是我的答案MiniProfiler not showing up on asp.net MVC
结论,请确保已在Application_Start()中添加了代码
protected void Application_Start()
{
...
MiniProfiler.Configure(new MiniProfilerOptions());//default setting
MiniProfilerEF6.Initialize();
}
参见官方文件:https://miniprofiler.com/dotnet/AspDotNet
关于c# - MiniProfiler不显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37574464/