我可以在控制台应用程序中使用mvc迷你分析器吗?
本文关键字:分析器 mvc 控制台 应用程序 我可以 | 更新日期: 2023-09-27 18:08:09
如何在c#控制台应用程序中使用mvc-mini-profiler ?
同样好奇的是,mvc迷你分析器是否将实际配置的统计数据放在每个网页的左侧,或者只是手动完成自定义javascript代码?
我下载并运行mvc示例,无法找到将结果放在javascript弹出框中的代码。
你可以!我已经创建了一个NuGet包,使它更容易运行。
检查MiniProfiler。窗口:http://nootn.github.com/MiniProfiler.Windows/
还有一篇关于如何设计一个优秀的控制台应用程序的详细文章:http://healthedev.blogspot.com.au/2012/07/performance-profiling-console-or-winwpf.html
核心计时对象(MiniProfiler)应该可以正常工作,就像被分析的连接钩子一样;但是你需要;
- 添加自己的UI来显示结果
- 定义你自己的作用域/生命周期(对于web来说很容易-只要http-request)
- 提供自己的存储钩子(有一个扩展API,默认使用http-context IIRC)
- 要么手动传递分析器,要么定义一个合理的方法来查找当前的分析器实例
我知道有些人已经将它的一部分用于WPF等,所以它可以被使用-但在我看来,选择有意义的部分,并使用它们来编写一个自定义库,增加一些很棒的
MiniProfiler V4(目前预发布)有方法RenderPlainText()
。您可以直接在控制台或多线程异步服务器应用程序中使用它,而无需任何额外的设置:
public void Foo()
{
MiniProfiler.Start("Interesting subroutine");
using (MiniProfiler.Current.Step("Step1"))
{
using (MiniProfiler.Current.Step(nameof(AccessDb)))
{
AccessDb();
}
Thread.Sleep(100);
}
using (MiniProfiler.Current.Step("Step2"))
{
Thread.Sleep(100);
}
MiniProfiler.Stop();
Console.WriteLine(MiniProfiler.Current.RenderPlainText());
}
这个代码片段产生如下输出:
如您所见,输出包括自定义计时的简短摘要(在本例中为sql)。通过提供您自己的PCName at 8/2/2017 8:44:36 AM
有趣的子程序= 309.2ms
比;Step1 = 204.8ms
在比;AccessDb = 103.8ms (sql = 56.2ms in 2 cmd)
比;Step2 = 100.9ms
RenderPlainText()
版本,您可以很容易地改变这种行为(例如,包括命令文本)。
查看更多信息:
- 使它可用于。net控制台应用程序我应该在多线程控制台或服务应用程序中使用IAsyncProfilerProvider的哪个实现?li>如何从MiniProfiler V3文档页面升级