1、首先搜索安装MvcThrottle。
2、引用空间
using MvcThrottle;
3、在FilterConfig里边添加方法:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
const int secondCount = 1;
var throttleFilter = new ThrottlingFilter
{
//每秒钟最多请求secondCount次,每分钟最多请求secondCount*60次,依次类推
Policy = new ThrottlePolicy(
perSecond: secondCount,
perMinute: secondCount * 10,
perHour: secondCount * 10 * 5,
perDay: secondCount * 10 * 5 * 2)
{
IpThrottling = true
},
Repository = new CacheRepository()
};
filters.Add(throttleFilter);
filters.Add(new HandleErrorAttribute());
filters.Add(new CustomHandleErrorAttribute());
}
}
4、然后在需要控制的方法上边加上
[EnableThrottling(PerSecond = 5, PerMinute = 10)]
5、测试,快速访问该方法,就会报错了:
以上就实现了防刷的功能。