gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 18:46:10 24 4
gpt4 key购买 nike

我有一个简单的 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”本质上意味着您正在让运行时等待直到方法被执行。第一个代码片段返回一个任务对象,而第二个代码片段返回来自 db 的实际服务。由于您是说第一个代码块显示了您必须在 UI 层中等待该任务对象的服务。在 WEB API 中放置 await 后,您必须更改 UI 层代码。

关于c# - 引入 "await"关键字后 WEB API 调用停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com