不能直接在API接口里面用 System.Threading.Thread.Sleep阻塞线程,如果需要延时,要用异步处理。
今天碰到这样的一个坑 在win 10 和 windows server 2008 没问题,但在windows server 2019 就出现以下问题
今天碰到这样的一个坑 在win 10 和 windows server 2008 没问题,但在windows server 2019 就出现以下问题
An error occurred while processing your request.
//错误的写法
[Route("api/TestMethod")]
public string TestMethod()
{
for (int i = 0; i < 3; i++)
{
System.Threading.Thread.Sleep(1000);
}
return "返回结果";
}
//正确的写法
[Route("api/TestMethod")]
public System.Threading.Tasks.Task<string> TestMethod()
{
return System.Threading.Tasks.Task<string>.Run(() =>
{
for (int i = 0; i < 3; i++)
{
System.Threading.Thread.Sleep(1000);
}
return "返回结果";
});
}