C# 我可以在控制台应用程序中使用mvc迷你探查器吗?

C# 我可以在控制台应用程序中使用mvc迷你探查器吗?,c#,mvc-mini-profiler,C#,Mvc Mini Profiler,如何在C#控制台应用程序中使用mvc mini profiler 同样奇怪的是,mvc mini profiler是将实际分析的统计数据放在每个网页的左侧,还是只是手动完成自定义javascript代码 我下载并运行了mvc示例,但找不到将结果放入javascript弹出窗口的代码。核心计时对象(MiniProfiler)应该可以正常工作,配置好的连接挂钩也可以正常工作;但是你需要 添加您自己的UI以显示结果 定义您自己的作用域/生命周期(对于web来说很容易——只需http请求) 提供自己的

如何在C#控制台应用程序中使用mvc mini profiler

同样奇怪的是,mvc mini profiler是将实际分析的统计数据放在每个网页的左侧,还是只是手动完成自定义javascript代码

我下载并运行了mvc示例,但找不到将结果放入javascript弹出窗口的代码。

核心计时对象(MiniProfiler)应该可以正常工作,配置好的连接挂钩也可以正常工作;但是你需要

  • 添加您自己的UI以显示结果
  • 定义您自己的作用域/生命周期(对于web来说很容易——只需http请求)
  • 提供自己的存储挂钩(有一个扩展API,默认情况下使用http上下文IIRC)
  • 手动传递探查器,或者定义查找当前探查器实例的合理方法

我知道有些人已经将它的一部分用于WPF等,所以它可以被使用——但在我看来,选择有意义的部分,然后用它们来编写一个自定义库,添加一些很棒的东西可能是有意义的。

是的,你可以!我还创建了一个NuGet包,让它更容易运行

查看MiniProfiler。Windows:

关于如何设计一个好的控制台应用程序进行评测的详细文章:

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());
}
此代码段生成以下输出:

PCName于2017年8月2日上午8:44:36
有趣的子程序=309.2ms
>步骤1=204.8ms
>>AccessDb=103.8ms(两个cmds中的sql=56.2ms)
>步骤2=100.9ms

正如您所见,输出包括自定义计时的简短摘要(本例中为sql)。您可以通过提供自己版本的来轻松更改此行为(例如,包括命令文本)

有关更多信息,请查看:

  • 微型档案器问题
  • 微型档案器问题
  • 文档页

@马克。。。你有这个在生产中运行的截图吗?您是否使用最新版本的MiniProfiler进行维护?@RichardB我的主要关注点是web。我在控制台中没有任何特定的示例场景。嘿,你的nuget包工作得很好。一件小事:我不得不使用程序集重定向,因为它似乎依赖于MiniProfiler的早期版本,而不是最新版本。考虑更新NESPEC以依赖最新版本。无论如何,感谢您的努力:)它似乎与3.1.1.140版不兼容。有计划修复它吗?@PaulSuart我面临以下错误:程序集“MiniProfiler.Windows,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”中的“MiniProfiler.Windows.ConsoleProfilingProvider”类型中的“Start”方法没有实现。“(System.TypeLoadException)异常消息=”程序集“MiniProfiler.Windows,版本=1.0.0.0,区域性=中立,PublicKeyToken=null”中类型为“MiniProfiler.Windows.ConsoleProfilingProvider”的方法“Start”没有实现。如何更新nuspec?“我的解决方案”文件夹中没有.nuspec文件。MiniProfiler版本为3.1.1.140,适用于我
MiniProfiler.Settings.ProfilerProvider=new SingletonProfilerProvider()完成了任务。上的COnsoleApp用例的原始文档中缺少此位GitHub@sll您是否与默认提供程序存在某种问题?