1. 程式人生 > >WebApiThrottle限流框架——基於IP的端點限流

WebApiThrottle限流框架——基於IP的端點限流

上面的api/values限流配置會對整個api/values開頭的API限流,同一秒內、同一ip訪問api/values後,所有後續訪問api/values/xxx的請求都會被拒絕掉。 如果配置了端點限流,同一秒內你也訪問api/values/1了,請求將不會被拒絕,因為它們走的是不同的路由。

config.MessageHandlers.Add(new ThrottlingHandler()
{
    Policy = new ThrottlePolicy(perSecond: 1, perMinute: 30)
    {
        IpThrottling = true,
        EndpointThrottling = true
    },
    Repository = new CacheRepository()
});