OrE*_*lse 5 .net c# vb.net throttling
我想在.net(C#或VB)中实现一个好的油门算法,但我无法弄清楚我怎么能这样做.
案例是我的asp.net网站应该将请求发布到另一个网站以获取结果.最多应发送每分钟300个请求.
如果请求超过300限制,则另一方Api不返回任何内容(这是我不想用作检查代码的内容).
PS我见过其他语言的解决方案而不是.net但我是新手,请善待并保持你的答案就像123一样简单.
谢谢
你可以有一个简单的应用程序(或会话)类,并检查是否有命中.为了给你这个想法,这是非常粗糙的事情:
public class APIHits {
public int hits { get; private set; }
private DateTime minute = DateTime.Now();
public bool AddHit()
{
if (hits < 300) {
hits++;
return true;
}
else
{
if (DateTime.Now() > minute.AddSeconds(60))
{
//60 seconds later
minute = DateTime.Now();
hits = 1;
return true;
}
else
{
return false;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)