【问题标题】:ASP.NET MVC 4 is slow when rendering a view呈现视图时 ASP.NET MVC 4 很慢
【发布时间】:2014-01-09 06:06:34
【问题描述】:

我们有一个相当大的 ASP.NET MVC 站点,显示一个页面需要 6 秒。我使用了 Glimpse 和 MiniProfier,它们都告诉我视图的渲染是罪魁祸首(需要 5.9 秒)。控件和视图都称为“列表”。

我删除了 _Layout.cshtml 和 List.cshtml 的整个标记,但页面仍然需要 6 秒才能加载!我查看了 global.asax 和 App_start 中的所有类,那里没有任何问题。

当我查看 Glimpse 时,它​​说“ViewResult.ExecuteResult()”需要 5.9 秒才能运行。我假设调用此方法来渲染视图,但我很惊讶,因为我删除了所有标记,所以实际上没有什么可渲染的。

谁能指导我如何诊断这个网站?

【问题讨论】:

    标签: asp.net-mvc performance diagnostics


    【解决方案1】:

    如果我们谈论 List,我可以假设(因为我们没有任何代码)它是通用的和 IEnumerable。这意味着它是延迟加载的。当您创建一个列表(或从某个地方获取它)时,您不会实际调用数据库/外部源。但是当您访问属性时,会执行调用,这就是渲染列表需要这么长时间的原因。

    因此,解决方案是您不需要关注列表的呈现,而是关注此列表的数据源。数据从何而来?例如,如果您使用数据库,则可能必须创建索引以提高查询的选择速度。

    【讨论】:

    • 谢谢你,你的回答帮了我很多:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    相关资源
    最近更新 更多