![](/img/trans.png)
[英]Why does lock(this) thread.sleep not work with ASP.NET threading?
[英]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.