我非常喜欢我在
MvcMiniProfiler中看到过的内容.我很乐意在非Web应用程序(Windows服务,单元测试等)上使用sql监视功能.这是可能的,还是需要HTTP环境?明显的差异将是结果传递,但是如果我可以将结果序列化到JSON或者一些,那将是罚款.
我把一个简单的单元测试放在一起,试图让它工作,但即使在执行MiniProfiler.Start()之后,MiniProfiler.Current总是为空.
我在这里骂了错树吗?
解决方法
优秀的问题.核心(分析器实例和连接包装器)不绑定到http.如果你可以创建自己的实例,它应该都可以工作.然而,所有的UI代码都围绕Web应用程序.
我知道在WPF,winforms等使用它的人 – 所以它应该工作正常.但是,您还需要找出一个逻辑的“我测量单位”.在一个网络应用程序中,显而易见的是:一个请求.
请注意,MiniProfiler.Current纯粹是一种方便(您可以在任何地方放置一个实例),但我确信我们可以创建自己的抽象(而不是http上下文).
(去检查代码)
是啊,我们走吧
public static MiniProfiler Current { get { MiniProfiler.Settings.EnsureProfilerProvider(); return MiniProfiler.Settings.ProfilerProvider.GetCurrentProfiler(); } }
所以你可以提供你自己的ProfileProvider然后.Current应该工作.