0

我正在创建一个 ASP.NET WebAPI 2 控制器。它有效,但我很困惑为什么。看来我要返回 List<..> 而不是 Task

请向我解释为什么返回列表是正确的。

public class AttendeePriceController : ApiController
{
    // GET api/<controller>
    public async Task<List<AttendeePrice>> Get()
    {
        List<AttendeePrice> attendeesPriceList;
        using (var db = new MyContext())
        {
            attendeesPriceList = await db.AttendeePrices.ToListAsync();
        }
        return attendeesPriceList;
    }
4

1 回答 1

7

async关键字将您的方法转换为状态机。该转换的一部分是生成Task表示该方法的 a。当您“返回”一个值时,状态机使用该值完成该任务。

有关详细信息,请参阅我的async介绍MSDN 文档

于 2013-11-13T17:02:19.337 回答