我正在构建一个RESTful web api,它将启动几个任务,等待它们完成然后返回一些数据.但我一直有问题,等待时似乎挂了.我把它缩小到最基本的范围:
[Authorize]
public class ValuesController : ApiController
{
public IEnumerable<string> Get([FromUri]bool enableWait)
{
Task t = Silly(enableWait);
t.Wait();
return new string[] { "value1", "value2" };
}
private async Task Silly(bool delay)
{
if (delay)
await Task.Delay(1);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我传递false,则返回没有任何问题.如果我返回true,它应该等待1毫秒(加上Task/Asnyc开销)然后返回.然而它只是挂在那里.
我在VS 2017附带的IIS Express上运行它.任何线索?