簡體   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