【问题标题】:Action already returned but browser not fetching results操作已返回,但浏览器未获取结果
【发布时间】:2013-04-15 13:18:49
【问题描述】:

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

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

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

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

我也尝试过使用 Iexplorer,但出现了同样的延迟。 在 chrome 中,延迟与“等待时间”相关,根据时间线

可能会发生什么?

【问题讨论】:

  • 这和 AJAX 有什么关系?
  • 啊,对不起,你是对的。它没有直接关联,但我想将此 URL 与 ajax 一起使用。
  • 啊哈。我认为这与这个问题没有直接关系。您可能希望包含标签asp.net-mvc-4c#

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


【解决方案1】:

我正在审查(由我提出的)没有答案的旧问题,答案是/曾经:

我应该包含 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 To EntitiesSQL To Objects

第一部分很快,第二部分很慢(必须做Members.Count()N次,N是“groups.ToList()”中的结果数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多