博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控制ASP.NET Web API 调用频率
阅读量:5299 次
发布时间:2019-06-14

本文共 566 字,大约阅读时间需要 1 分钟。

原文:

很多的api,例如 都有流量控制的做法。使用速率限制,以防止在很短的时间量客户端向你的api发出太多的请求.例如,我们可以限制匿名API客户端每小时最多60个请求,而我们可以让更多的经过认证的客户端发出更多的请求。那么asp.net webapi如何实现这样的功能呢?在项目 上面已经有了一个实现: ,具有良好的可扩展性。

最简单的方法是使用ThrottlingHandler注册使用简单的参数,例如控制每个用户每小时60个请求:

config.MessageHandlers.Add(new ThrottlingHandler(    new InMemoryThrottleStore(),      id => 60,     TimeSpan.FromHours(1)));
 
IThrottleStore接口 使用ID +当前的请求数量。 只有一个内存中存储,但你可以轻松地扩展实现为分布式缓存或数据库。还可以轻松地自定义ThrottlingHandler的行为,例如我们针对一个ip地址可以更好的进行控制。
 
 
posted on
2019-01-17 22:58 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10285401.html

你可能感兴趣的文章
K-means算法
查看>>
input提示文字;placeholder字体修改
查看>>
MyBatis知识点总结(一)
查看>>
面试题链接记录
查看>>
Android Studio 版本间区别
查看>>
SQL SERVER: 合并相关操作(Union,Except,Intersect)
查看>>
1025-完数
查看>>
汇编第二章知识总结
查看>>
负载均衡简单配置
查看>>
Informix Online数据库日常管理及维护
查看>>
Java反射机制demo(二)—通过Class实例化任意类的对象
查看>>
String和StringBuffer的区别
查看>>
eclipse 添加resources 目录
查看>>
shell 备份mysql
查看>>
ios 常见问题解决
查看>>
Gradle初使用
查看>>
Error: rpmdb open failed
查看>>
CentOS 常用命令合集
查看>>
CRUD操作
查看>>
[转帖]盖国强:Oracle 路线图
查看>>