Я много читал в WebApi2, и мне это очень нравится, но я просто не понимаю, почему каждый метод использует async
вместо стандартных методов.
Вот пример:
[ResponseType(typeof(BookDto))]
public async Task<IHttpActionResult> GetBook(int id)
{
BookDto book = await db.Books.Include(b => b.Author)
.Where(b => b.BookId == id)
.Select(AsBookDto)
.FirstOrDefaultAsync();
if (book == null)
{
return NotFound();
}
return Ok(book);
}
Какая польза здесь? Мне все равно придется дождаться загрузки моей книги из db с помощью ef перед ее обслуживанием. Это как-то отличается от обычного способа, когда я не использую задачи для извлечения книги?