据我了解,Thread.Sleep会阻止主线程,但Task.Delay不会。如果我对该端点进行了多次调用,其中之一具有delay参数,那么为什么所有后续调用也必须等待。
public async Task<JsonResult> Simulation(string delay)
{
if (delay != null)
{
await Task.Delay(10000);
}
return null;
}
答案 0 :(得分:0)
我发现从ApiController继承时,行为符合预期,因此我将使用它。仍然不确定为什么标准MVC Controller会挂起,但正如Stephen Cleary所建议的那样,可能与会话状态有关。