MiniProfiler无法显示

时间:2016-06-01 16:46:12

标签: c# asp.net-mvc mvc-mini-profiler

对于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;
&#13;
&#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(...);
        }

    }

1 个答案:

答案 0 :(得分:0)

这是我的答案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