繁体   English   中英

Thread.Sleep在Asp.net vNext中

[英]Thread.Sleep in Asp.net vNext

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

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

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

提前致谢。

await System.Threading.Tasks.Task.Delay(1000) 

要么

System.Threading.Tasks.Task.Delay(1000).Wait()

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

你错过了一个依赖。 如果您的代码不是异步,则不应使用Task.Delay ...您应该使用Thread.Sleep()或normal。

只需添加以下依赖项:

"System.Threading.Thread": "4.0.0-beta-23516"

然后你可以照常使用Thread.Sleep

当然,如果您正在编写异步代码,那么await Task.Delay(...)是合适的 - 再次,就像正常一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM