Просто столкнулся с этим. Я получаю более 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
}
И в первую очередь добавляйте свои записи к тому, что вы делали с ними. Или просто подождите, пока все вызовы не завершатся, и сопоставьте результаты.