Код: Выделить всё
var reqs = History.OrderByDescending(m => m.DateFiled).Skip(pageIndex * pageSize).Take(pageSize);
// Use a List instead of an array
var rowsObj = new List();
List listOfTasks = new List();
// Start all async tasks
foreach (var req in reqs)
{
listOfTasks.Add(rr.ObjectRowsAsync(req, rowsObj));
}
try
{
await Task.WhenAll(listOfTasks);
}
catch (Exception ex)
{
// Handle error (log it or return a meaningful error message)
return Json(new { error = ex.Message }, JsonRequestBehavior.AllowGet);
}
var result = new JsonResult
{
Data = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = rowsObj
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
return result;
Когда await Task.WhenAll(listOfTasks), действие не возвращает никаких данных результата JSON, но когда я его закомментировал, действие передает данные правильно. Какова здесь лучшая практика?И как я могу использовать точку останова на async, он не срабатывает. Или есть какой-нибудь способ увидеть, что происходит?
Я прочитал много тем по стеку об использовании асинхронности, даже интересный ForEachAsync, и жду foreach в более высоких версиях.
Подробнее здесь: https://stackoverflow.com/questions/793 ... sk-whenall