在迷你探测器调用Find:Index步骤期间,MVC3到底做了什么?

时间:2012-05-17 12:40:02

标签: asp.net-mvc mvc-mini-profiler

开箱即用,添加到MVC3站点的mini-profiler报告一个名为Find:Index的步骤,其中Index是控制器调用View()时设置的viewName参数。第一次点击视图时,此步骤可以轻松占用一秒钟,然后对于所有后续调用都可以忽略不计。

这里发生了什么?我认为迷你剖析器很难选择或采用这个步骤的名称,因为它肯定不会花费一秒钟来找到任何东西,当然指定视图的完整文件路径和名称没有任何区别,所以它不是在那个意义上找到。将MvcBuildViews设置为true也无济于事。

1 个答案:

答案 0 :(得分:4)

我在这里写了博客:http://samsaffron.com/archive/2011/08/16/Oh+view+where+are+thou+finding+views+in+ASPNET+MVC3+

“查找”步骤将包括第一次运行期间的“查看编译阶段”。在随后的运行中它很快(除非你有一些非常糟糕的事情发生)。另请注意,在非调试中运行时速度更快。

您可以通过预编译视图来避免这种打击,由于其引入的复杂性,我不建议这样做。