【发布时间】:2018-08-06 10:50:42
【问题描述】:
我有一个 .net web api 2 方法,我试图让我的代码的某些部分在一个单独的线程中执行某些操作,但是在我在任务上调用 .Wait() 方法之后它永远不会到达下一行。我一定是在俯瞰什么,但我似乎找不到它。这是该问题的一个非常简单的版本。行 Ok() 永远不会被击中。有什么建议吗?
public IHttpActionResult Get() {
var attachTask = AttachNewTasksAsync();
//do something else
attachTask.Wait();
return Ok();
}
public async System.Threading.Tasks.Task AttachNewTasksAsync()
{
await System.Threading.Tasks.Task.Delay(10000);
}
【问题讨论】:
-
.Wait()在主上下文中会使 ASP.NET 应用程序死锁 -
你为什么要做
.Wait()而不是使动作异步并正确等待它?
标签: c# async-await asp.net-web-api2