【发布时间】:2013-09-24 20:51:22
【问题描述】:
我已经阅读了很多关于 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);
}
这里有什么好处?我仍然需要等待我的书使用 ef 从 db 加载,然后再提供它。这是否与我不使用任务来检索书籍的常规方式有所不同?
【问题讨论】:
-
很好的问题(Stephen Cleary 给出了很好的回答)...我也这么想!我不明白你为什么要使用这些异步任务,然后调用它们,然后等待回复。
标签: c# asp.net asp.net-web-api async-await