MvcMiniProfiler是否需要Web应用程序才能工作,或者它是否可以在纯库中使用,例如在单元测试中?

Coo*_*ame 15 .net mvc-mini-profiler

我真的很喜欢我见过的有关MvcMiniProfiler的内容.我喜欢在非Web应用程序(Windows服务,单元测试等)上使用SQL监视功能.这可能,还是需要HTTP环境?明显的区别是结果传递,但如果我可以将结果序列化为JSON或某些,那就没问题了.

我把一个简单的单元测试放在一起试图让它工作,但MiniProfiler.Current似乎总是为空,即使在执行之后MiniProfiler.Start().

我在这里吠叫错了吗?

Mar*_*ell 12

好问题.该核心(剖析实例和连接包装)是不依赖于HTTP.如果你可以创建自己的实例,它应该都可以工作.但是,所有UI代码都围绕着Web应用程序.

我知道人们在WPF,winforms等中使用它 - 所以它应该可以正常工作.但是,你还需要找出一个合乎逻辑的"我测量的单位".在Web应用程序中,很明显:请求.

请注意,这MiniProfiler.Current纯粹是一种方便(你可以将实例放在任何地方),但我很确定我们可以创建自己的抽象(而不是http上下文).

(去检查代码)

啊,是的,我们走了:

public static MiniProfiler Current
{
  get
  {
    MiniProfiler.Settings.EnsureProfilerProvider();
    return MiniProfiler.Settings.ProfilerProvider.GetCurrentProfiler();
  }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以提供自己的ProfileProvider,然后.Current应该工作.