Я использую профилировщик 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);
}
Ничего из этого не получилось. Любые идеи?