在类控制器中使用剃刀视图与嵌入式代码是否有性能成本?

时间:2014-06-19 17:29:18

标签: asp.net-mvc

请求编译并调用几次后,是否存在性能差异:

public ActionResult Index()
{
    return View("~/Views/Index.cshtml");
}

public ActionResult Index() {
    var sb = new StringBuilder();
    sb.Append("<html><body>Bla bla bla bla</body></html>");
    return Content(sb.ToString());
}

我觉得有一个。

Razor解析得到的编译代码是否与使用字符串构建器或完全不同相同?

1 个答案:

答案 0 :(得分:0)

答案取决于视图中包含的内容。我使用Glimpse来衡量呈现Index()方法的时间,一次使用View(),另一次使用您提供的示例HTML返回Content()。在这两种情况下,时间大约相等 - 每个大约300到400毫秒。一旦我在视图中放了一些HTML,完成请求需要花费一些时间,比如说600到700毫秒。

总的来说,我会说使用Content()可能会更快一些,因为返回时不会涉及Razor解析器。