Что касается производительности, будут ли эти два метода работать параллельно GetAllWidgets()
и GetAllFoos()
?
Есть ли какая-то причина использовать один над другим? Кажется, что происходит много сцене с компилятором, поэтому я не понимаю.
============= МетодА: Использование нескольких ожиданий ==================================
public async Task<IHttpActionResult> MethodA()
{
var customer = new Customer();
customer.Widgets = await _widgetService.GetAllWidgets();
customer.Foos = await _fooService.GetAllFoos();
return Ok(customer);
}
=============== МетодB: Использование Task.WaitAll =====================
public async Task<IHttpActionResult> MethodB()
{
var customer = new Customer();
var getAllWidgetsTask = _widgetService.GetAllWidgets();
var getAllFoosTask = _fooService.GetAllFos();
Task.WaitAll(new List[] {getAllWidgetsTask, getAllFoosTask});
customer.Widgets = getAllWidgetsTask.Result;
customer.Foos = getAllFoosTask.Result;
return Ok(customer);
}
=====================================