【发布时间】:2011-09-29 23:49:37
【问题描述】:
我正在使用 MVC Mini 分析器来检查我的应用程序特定部分的速度,并希望将其保留在那里以防万一以后发生某些事情并且我可能需要检查“出了什么问题”。这不是一个完整的日志集,但它可以很方便地了解是什么让一个页面花费了很长时间。
因此,我的目标是仅在请求带有特定参数时隐藏它并对其进行配置。但是,我的任何尝试都没有达到我预期的效果。
这已经完成了不在屏幕上显示它的技巧(视图中的代码):
@if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
@MvcMiniProfiler.MiniProfiler.RenderIncludes()
}
这是更接近的尝试。正确隐藏了迷你分析器信息,但在我显示它的那一刻,它会分析自从我停止显示它以来的所有内容。所以,假设我分析了我的页面,它需要 3 秒。我删除了查询参数并再次加载页面三遍。我再次添加我的参数,我看到 4 组配置文件信息。这意味着它会跟踪所有内容,我想知道它是否会导致内存问题。
尝试让这种情况不再发生:
尝试 1:
protected void Application_BeginRequest()
{
if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
MiniProfiler.Start();
}
}
尝试 2:
protected void Application_EndRequest()
{
MiniProfiler.Stop(!Request.QueryString.AllKeys.Contains("showProfiler"));
}
尝试 3:
protected void Application_EndRequest()
{
MiniProfiler.Stop(true);
}
这些都不起作用。有什么想法吗?
【问题讨论】:
-
尝试 1 在视图中结合上面的示例,应该可以正常工作。
标签: c# asp.net-mvc-3 profiling mvc-mini-profiler