我试图弄清楚如何有效地使用每秒限制为5个请求的API,而不会达到限制.如果请求达到限制,我将从API获得错误响应.Thread.Sleep(200)感觉不是一个合适的解决方案,因为我需要效率.
foreach (Foo foo in fooList)
{
try
{
// Max 5 API calls per second! How?
ThirdPartyResponse response = ContactThirdPartyApi(foo);
// do something with response
...
}
}
Run Code Online (Sandbox Code Playgroud)
最好我想使用某种后台工作人员进行呼叫但是如何控制每秒的请求数nr?我已经尝试过查看Hangfire来解决这个问题,但它似乎并不适用于这种类型的限制控制.
因为我可以发出请求并知道当我得到响应时,应该可以跟踪已经发射和完成的数量,并确保每秒不超过5次.但是怎么样?欢迎任何和所有建议!