Asp.net mvc 4 Miniprofiler是';t分析赋值语句/快速步骤
我正在使用带有ASP.NET MVC 4的StackExchange Miniprofiler。我目前正试图用一个昂贵的表达式来分析一个类的成员变量的赋值,该表达式生成要赋值的值。Miniprofiler似乎不想分析赋值语句。我简化了代码以突出显示错误:Asp.net mvc 4 Miniprofiler是';t分析赋值语句/快速步骤,asp.net-mvc-4,mvc-mini-profiler,Asp.net Mvc 4,Mvc Mini Profiler,我正在使用带有ASP.NET MVC 4的StackExchange Miniprofiler。我目前正试图用一个昂贵的表达式来分析一个类的成员变量的赋值,该表达式生成要赋值的值。Miniprofiler似乎不想分析赋值语句。我简化了代码以突出显示错误: public ActionResult TestProfiling() { var profiler = MiniProfiler.Current; using (profiler.Step("T
public ActionResult TestProfiling()
{
var profiler = MiniProfiler.Current;
using (profiler.Step("Test 1"))
Thread.Sleep(50);
int sue;
using (profiler.Step("Test 2"))
{
sue = 1;
}
if (sue == 1)
sue = 2;
using (profiler.Step("Test 3"))
{
Thread.Sleep(50);
int bob;
using (profiler.Step("Inner Test"))
{
bob = 1;
}
if (bob == 1)
bob = 2;
}
return View();
}
注意:if语句只是为了避免编译器警告
测试1和测试3显示在结果页面的Miniprofiler部分。测试2和内部测试不适用。但是,如果我用sleep语句替换test2或internaltest的内容,它们将输出到结果页面
这是怎么回事?即使我在一个不出现的测试中替换了简单赋值语句
using (profiler.Step("Test 2"))
{
ViewModel.ComplexData = MyAmazingService.LongRunningMethodToGenerateComplexData();
}
对于一个更复杂的步骤,test2步骤仍然无法将输出输出到渲染的Miniprofiler部分。为什么Miniprofiler不分析赋值语句
编辑:代码示例现在对应于文本
Edit2:进一步挖掘之后,问题似乎不在于赋值语句。似乎输出结果中是否显示某些内容取决于执行所需的时间。i、 e
using (profiler.Step("Test 2"))
{
sue = 1;
Thread.Sleep(0);
}
使用上述代码,测试2不会显示在Miniprofiler结果中
using (profiler.Step("Test 2"))
{
sue = 1;
Thread.Sleep(10);
}
使用上述代码,测试2现在显示在Miniprofiler结果中
因此,我的长运行代码生成复杂数据的速度似乎相当快。。。但是,Miniprofiler的预期行为是不会显示花费非常少时间的步骤吗?问题似乎在于Miniprofiler不会显示执行时间小于3ms的步骤的结果 编辑:来自Miniprofiler文档 TritiliteDurationThresholdMillics任何持续时间小于或等于此值的计时步骤都将默认隐藏在UI中;默认值为2.0毫秒 只需单击探查器结果右下角的“显示平凡” 这应该显示所有操作