2013-04-15 1 views
1

В ASP.NET MVC 4 у меня есть метод действий [HttpGet], который возвращает JsonResponse.Действие уже возвращено, но браузер не получает результаты

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

Когда я называю этот метод с браузером, введя URL-адрес: локальный: 43229/GroupsAjax/Список DomainId = 1, я должен ждать, как 50 секунд, чтобы увидеть результаты.

Моя первая мысль заключалась в том, что метод был слишком медленным, но, добавляя точки останова, я заметил, что он уже вернулся.

Breakpoints

Я попытался с IEXPLORER тоже и то же отставание случилось. В хроме, отставание было связано с «временем ожидания» в соответствии с временной шкалой

Что может произойти?

+0

Что это связано с AJAX? – 11684

+0

А, извините, вы правы. Его не связали напрямую, но я хочу использовать этот URL-адрес с ajax. – sports

+0

Aha. Я не думаю, что это напрямую связано с этой проблемой. Возможно, вы захотите включить теги [tag: asp.net-mvc-4] и [tag: C#]. – 11684

ответ

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 к объектам

Первая часть была быстро, второй был медленным (должен делать Members.Count() N раз , являющееся N числом результатов в "groups.ToList()"

Смежные вопросы