设置每秒全局HTTP请求数限制
本文关键字:请求 HTTP 全局 设置 | 更新日期: 2023-09-27 17:58:12
由于服务器的限制,我每3秒钟不能发出一个以上的请求,我使用Thread.Sleep()
来限制我可以发出的请求数量。有没有更好的方法不用暂停线程?谢谢
static void main(string[] args)
{
// getids
List<string> requestIds = GetMyRequestIds();
foreach(string requestId in requestIds)
{
Thread.Sleep(3000);
// one request for each Id
result = FetchStatus(requestId);
}
}
public Dictionary<string, object> FetchStatus(string requestId)
{
// build http request and query the server
// ... requestId... http... etc... read to end
return results;
}
如果您的限制是每3秒只有一个请求,您可以设置一个计时器,每3秒触发一次回调。由于这是在一个单独的线程中执行的,因此有可能同时执行两个长时间运行的请求。
System.Threading.Timer