适用于 IIS 和 Owin 托管的 ASP.NET Web API 速率限制器
WebApiThrottle 是一个 ASP.NET Web API 限流处理程序、OWIN 中间件和过滤器,用于根据 IP 地址、客户端 API 密钥和请求路由控制客户端向 Web API 提交请求的速率。WebApiThrottle 包可在 NuGet 上获取,网址为 nuget.org/packages/WebApiThrottle。
--- 如果您正在寻找 ASP.NET Core 版本,请前往 AspNetCoreRateLimit 项目。
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
// 为自主托管配置 Web API
HttpConfiguration config = new HttpConfiguration();
// 注册限流处理程序
config.MessageHandlers.Add(new ThrottlingHandler())
{
Policy = new ThrottlePolicy(perSecond: 1, perMinute: 20, perHour: 200, perDay: 1500, perWeek: 10000)暂无开放 Issues,或尚未同步最近议题。