控制ASP.NET Web API 调用频率
来源:互联网 发布:果敢 知乎 编辑:程序博客网 时间:2024/06/06 00:32
来自:http://www.cnblogs.com/shanyou/archive/2013/07/17/3194802.html
很多的api,例如GitHub’s API 都有流量控制的做法。使用速率限制,以防止在很短的时间量客户端向你的api发出太多的请求.例如,我们可以限制匿名API客户端每小时最多60个请求,而我们可以让更多的经过认证的客户端发出更多的请求。那么asp.net webapi如何实现这样的功能呢?在项目WebApiContrib 上面已经有了一个实现:https://github.com/WebApiContrib/WebAPIContrib/blob/master/src/WebApiContrib/MessageHandlers/ThrottlingHandler.cs ,具有良好的可扩展性。
最简单的方法是使用ThrottlingHandler注册使用简单的参数,例如控制每个用户每小时60个请求:
config.MessageHandlers.Add(new ThrottlingHandler( new InMemoryThrottleStore(), id => 60, TimeSpan.FromHours(1)));
IThrottleStore接口 使用ID +当前的请求数量。InMemoryThrottleStore 只有一个内存中存储,但你可以轻松地扩展实现为分布式缓存或数据库。还可以轻松地自定义ThrottlingHandler的行为,例如我们针对一个ip地址可以更好的进行控制。
Throttling ASP.NET Web API calls
- 控制ASP.NET Web API 调用频率
- 控制ASP.NET Web API 调用频率
- asp.net web页面 调用windows api
- 通过HttpClient 调用ASP.NET Web API
- 通过HttpClient 调用ASP.NET Web API
- 通过HttpClient 调用ASP.NET Web API
- 通过HttpClient 调用ASP.NET Web API
- ASP.NET MVC5 频率控制Filter
- asp.net web api
- ASP.NET Web API
- asp.net web api
- asp.net web api
- asp.net web api
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- 【相亲时如何判断一个男生的好坏】
- dm368ipnc 重写架构中的swosd 实现中文osd
- 布隆过滤器原理
- Gxt 3.0 修改文本框 为空的 提示
- Mysql缓存命中率
- 控制ASP.NET Web API 调用频率
- 文章简单介绍如何在iOS中使用libxml
- 赋值、引用
- 网站服务管理系统wdcp简介及功能特性
- 获取GCC源代码
- js图片左右滚动
- 内存 profile (zz)
- 谈谈RTP传输中的负载类型和时间戳
- Ruby List Files