我正在将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/

10-13 06:23