操作已经返回,但浏览器没有获取结果

时间:2013-04-15 13:18:49

标签: c# browser asp.net-mvc-4 lag jsonresult

在ASP.NET MVC 4中,我有一个[HttpGet]动作方法,它返回一个JsonResponse。

    public JsonResult List(int domainId)
    {
            ....
    }

当我使用浏览器调用此方法时,通过键入URL:localhost:43229 / GroupsAjax / List?domainId = 1,我必须等待50秒才能看到结果。

我的第一个想法是该方法太慢,但通过添加断点,我注意到它已经返回。

Breakpoints

我也尝试过Iexplorer并且发生同样的延迟。 在chrome中,根据时间表

,滞后与“等待时间”相关联

可能会发生什么?

1 个答案:

答案 0 :(得分:0)

我在没有答案的情况下回顾旧问题(我),答案是:

我应该包含AsJson()代码:

    public dynamic AsJson()
    {
        return new
        {
           name = this.Name,
           membersCount = this.Members.Count()
        }
    }

查询是这样的:

 dynamic results = from g in groups.ToList()
                   select g.AsJson();

" this.Members.Count()"由于ToList()而在内存中运行。

所以:查询分为几部分: SQL到实体 SQL到对象

第一部分很快,第二部分很慢(必须做会员.Count()N次,N是结果数" groups.ToList()"