WEB API 调用在引入 "await" 关键字后停止工作

WEB API call stops working after introducing the "await" keyword

我有一个简单的 Web api 方法,它从数据库中检索项目列表。当该方法看起来像这样时,它会起作用并且项目显示在 UI:

[ActionName("GetServices")]
public async Task<IHttpActionResult> GetServices()
{
    var services = dbContext.Service.ToListAsync();
    return Ok(services);
}

但是一旦我在方法中引入 await 关键字它就停止工作(如果我在方法上放置一个断点它仍然会被击中但 UI 上没有显示任何内容) :

[ActionName("GetServices")]
public async Task<IHttpActionResult> GetServices()
{
    var services = await dbContext.Service.ToListAsync();
    return Ok(services);
}

"await" 本质上意味着您正在让运行时等待方法执行。第一个代码片段 returns 一个任务对象,而第二个 returns 来自 db 的实际服务。由于您是说第一个代码块显示了您必须在 UI 层中等待该任务对象的服务。在WEB API.

中放置await 后,您必须更改UI 层代码