Thread.Sleep在Asp.net vNext中

Jac*_*ack 3 c# asp.net asp.net-mvc multithreading asp.net-core-mvc

我需要调用一个JSON api,它只允许每秒有限数量的请求,以确保不会从特定的IP发生DDOS.请求需要多长时间并不重要,因为这将在一夜之间作为自动化过程完成,但是我需要在每个请求之间暂停某些方式以确保我的IP不会暂时列入黑名单.

现在我要完成Thread.Sleep(1000)以确保只发送一个请求,但在asp.net vNext Thread.Sleep不起作用/存在所以我不能这样做.

有没有其他或更好的方法来处理我需要做的事情?没有批量API,因此必须一次完成1个请求.

提前致谢.

meh*_*cek 11

await System.Threading.Tasks.Task.Delay(1000) 
Run Code Online (Sandbox Code Playgroud)

要么

System.Threading.Tasks.Task.Delay(1000).Wait()
Run Code Online (Sandbox Code Playgroud)

另请注意,等待Task.Delay使您的执行线程可以被其他工作重用,但Thread.Sleep会阻塞.