设置每秒全局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;
}

设置每秒全局HTTP请求数限制

如果您的限制是每3秒只有一个请求,您可以设置一个计时器,每3秒触发一次回调。由于这是在一个单独的线程中执行的,因此有可能同时执行两个长时间运行的请求。

System.Threading.Timer