Требуется ли MvcMiniProfiler веб-приложение для работы или оно может использоваться в чистых библиотеках, например, в модульных тестах? - PullRequest
14 голосов
/ 16 декабря 2011

Мне действительно нравится то, что я видел относительно MvcMiniProfiler . Я хотел бы использовать функции мониторинга SQL в не-веб-приложениях (службы Windows, модульные тесты и т. Д.). Возможно ли это, или для этого требуется среда HTTP? Очевидной разницей будет выдача результатов, но если я смогу сериализовать результаты в JSON или что-то подобное, все будет в порядке.

Я собрал простой модульный тест, пытаясь заставить его работать, но MiniProfiler.Current кажется всегда пустым, даже после выполнения MiniProfiler.Start().

Я лаю не на том дереве?

1 Ответ

12 голосов
/ 16 декабря 2011

Отличный вопрос. core (экземпляр профилировщика и оболочки подключений) не привязаны к http.Если вы можете создать свой собственный экземпляр, все должно работать.Однако весь код пользовательского интерфейса ориентирован на веб-приложения.

Я знаю людей, использующих его в WPF, winforms и т. Д., Поэтому он должен работать нормально.Тем не менее, вам также необходимо выяснить логическую «единицу измерения для меня».В веб-приложении это очевидно: запрос.

Обратите внимание, что MiniProfiler.Current - это просто удобство (вы можете поместить экземпляр в любом месте), но я уверен, что мы сделали это возможным для создания вашей собственной абстракции.(вместо контекста http).

(идет, чтобы проверить код)

ах, да, мы идем:

public static MiniProfiler Current
{
  get
  {
    MiniProfiler.Settings.EnsureProfilerProvider();
    return MiniProfiler.Settings.ProfilerProvider.GetCurrentProfiler();
  }
}

, так что вы можете предоставить свой ProfileProvider и тогда .Current должен работать.

...