Просто наткнулся на это. Я получаю более 6000 записей. Просто решил, что я просто сделаю пейджинг. Как и в, я принимаю номер страницы в моей конечной точке MVC JsonResult, которая по умолчанию равна 0, поэтому это необязательно, например:
public JsonResult MyObjects(int pageNumber = 0)
Затем вместо того, чтобы говорить:
return Json(_repository.MyObjects.ToList(), JsonRequestBehavior.AllowGet);
Я говорю:
return Json(_repository.MyObjects.OrderBy(obj => obj.ID).Skip(1000 * pageNumber).Take(1000).ToList(), JsonRequestBehavior.AllowGet);
Это очень просто. Затем в JavaScript вместо этого:
function myAJAXCallback(items) {
// Do stuff here
}
Вместо этого я говорю:
var pageNumber = 0;
function myAJAXCallback(items) {
if(items.length == 1000)
// Call same endpoint but add this to the end: '?pageNumber=' + ++pageNumber
}
// Do stuff here
}
И добавьте свои записи во все, что вы делали с ними в первую очередь. Или просто подождите, пока все вызовы не закончатся и не соберет результаты вместе.