Asp.net mvc 3 缓慢加载第一页-ASP.NET MVC

Asp.net mvc 3 缓慢加载第一页-ASP.NET MVC,asp.net-mvc-3,entity-framework,ninject,mvc-mini-profiler,Asp.net Mvc 3,Entity Framework,Ninject,Mvc Mini Profiler,我在我的页面上使用了miniprofiler,因为我认为我的第一页和其他一些页面有很长的加载时间。我从miniprofiler开始,但我认为它是一个非常好的工具。我有一个结果: http://localhost:50783/192.2+0.0 从数据库2.2+186.9获取文章 查找:索引866.4+190.9 渲染:索引1839.0+1058.1 查找:_第530.0+2809.0条 部分渲染:第64.3+3339.2条 部分渲染:第8.2条+3404.2条 部分渲染:第12.5+341

我在我的页面上使用了miniprofiler,因为我认为我的第一页和其他一些页面有很长的加载时间。我从miniprofiler开始,但我认为它是一个非常好的工具。我有一个结果:

  • http://localhost:50783/
    192.2+0.0
    • 从数据库2.2+186.9获取文章
    • 查找:索引866.4+190.9
    • 渲染:索引1839.0+1058.1
      • 查找:_第530.0+2809.0条
      • 部分渲染:第64.3+3339.2条
      • 部分渲染:第8.2条+3404.2条
      • 部分渲染:第12.5+3413.0条
      • 部分渲染:第8.7+3426.2条
      • 部分渲染:第7.9+3435.4条
      • 渲染部分:_leftmenu64.8+3520.4
      • 渲染部分:_LogonPartial3.3+3556.3
      • 渲染部分:_rightmenuutest2530.1+3591.2
      • 渲染部分:_nextmatch3.5+4088.7
      • 渲染部分:4.7+4226.5
      • 渲染部分:_页脚21.2+6137.4
有人能帮我缩短时间吗?在哪里可以找到?这意味着什么?我知道RightMenuTest的时间最长,我也在努力减少它。我在那里有很多我自己的助手,我认为这是部分观点的问题。所以我需要帮助减少其他人的时间

多谢各位

编辑:

_第条:

@model SkMoravanSvitavka.Models.Article
<h3>@Html.ActionLink(Model.Title, "Zobrazit", "Clanek", new { id = Model.ArticleID }, null)</h3>

    <p>@Html.Raw(Html.ArticleImageToSmall(Html.Article(Model.Text))) </p>

@Html.ActionLink("Počet komentářů:" + Model.Comments.Count, "Zobrazit", "Clanek", new { id = Model.ArticleID }, null)

尝试使用渲染部分插入部分:

foreach (var item in Model)
{
    Html.RenderPartial("_Article", item);
}

确保在发布模式下编译项目时也进行测试。众所周知,ASP MVC在调试模式下执行额外的反射来查找视图,以获得更全面的调试功能。

我添加了一些代码,但我不确定您需要哪些代码,所以希望这些代码对您有所帮助,或者您可以说我可以添加哪一个。这是应用程序中首次使用EF查询吗?在这种情况下,您将面临EF视图的生成。为什么
RenderPartial
Partial
好?@jrummell由于结果将在执行期间直接写入响应流,因此速度更快。
public ActionResult Index()
        {
            var profiler = MiniProfiler.Current;
            using (profiler.Step("Getting articles from database"))
            {
                var model = repo.GetLatestArticles(5);
                return View(model);
            }
        }
foreach (var item in Model)
{
    Html.RenderPartial("_Article", item);
}