news 2026/6/10 13:18:54

.NET 7.0在.NET Core Web API中实现限流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
.NET 7.0在.NET Core Web API中实现限流

参考文档:https://blog.csdn.net/zls365365/article/details/133627445

文章目录

  • 安装NuGet包
  • 配置appsettings.json
  • 添加中间件
  • 测试结果

安装NuGet包

配置appsettings.json

//配置限流,IP限制适应于所有全局,规则为1分钟最多访问10次"IpRateLimiting":{"EnableEndpointRateLimiting":false,"StackBlockedRequests":false,"RealIpHeader":"X-Real-IP",//服务器背后是一个反向代理,如果你的代理服务器使用不同的页眉然后提取客户端IP X-Real-IP使用此选项来设置"ClientIdHeader":"X-ClientId",//取白名单的客户端ID。如果此标头中存在客户端ID并且与ClientWhitelist中指定的值匹配,则不应用速率限制。"HttpStatusCode":429,//限制状态码//"IpWhitelist": [ "127.0.0.1" ],"IpWhitelist":[],//IP白名单:支持Ip v4和v6"GeneralRules":[{"Endpoint":"*",//端点路径"Period":"1m",//时间段,例如1m,您可以使用以下期间类型之一:s, m, h, d。"Limit":10//调用限制}]}

#region注册AspNetCoreRateLimit限流组件builder.Services.AddMemoryCache();//下面的IpRateLimiting为限流策略的配置文件结点名称,可以配置多个策略builder.Services.Configure<IpRateLimitOptions>(builder.Configuration.GetSection("IpRateLimiting"));//添加对内存中的 IP 策略存储的支持builder.Services.AddSingleton<IIpPolicyStore,MemoryCacheIpPolicyStore>();builder.Services.AddSingleton<IRateLimitCounterStore,MemoryCacheRateLimitCounterStore>();builder.Services.AddSingleton<IRateLimitConfiguration,RateLimitConfiguration>();builder.Services.AddInMemoryRateLimiting();#endregion

添加中间件

app.UseIpRateLimiting();

测试结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 21:23:42

Emotion2Vec+ Large推理成本高?轻量化部署实战优化方案

Emotion2Vec Large推理成本高&#xff1f;轻量化部署实战优化方案 1. 问题背景&#xff1a;大模型的“甜蜜负担” Emotion2Vec Large 是当前语音情感识别领域表现最出色的模型之一&#xff0c;由阿里达摩院在 ModelScope 平台开源。它基于大规模多语种语音数据训练&#xff0…

作者头像 李华
网站建设 2026/6/10 1:43:33

基于51单片机自行车码表里程表霍尔测速时钟显示超速报警设计5(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于51单片机自行车码表里程表霍尔测速时钟显示超速报警设计5(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 51单片机自行车码表霍尔测速里程计超速报警时钟5 产品功能描述&#xff1a; 本系统由STC89C52单片机核心、DS1302…

作者头像 李华
网站建设 2026/6/10 3:08:43

线程池核心参数配置指南,99%的Java开发者都忽略的keepAliveTime陷阱

第一章&#xff1a;线程池核心参数概述 线程池是并发编程中的关键组件&#xff0c;合理配置其核心参数能够有效提升系统性能并避免资源耗尽。Java 中的 ThreadPoolExecutor 提供了多个可调参数&#xff0c;用于精确控制线程的创建、任务排队和拒绝策略。 核心线程数&#xff0…

作者头像 李华
网站建设 2026/6/8 14:16:00

【JVM调优终极指南】:2026年必须掌握的10个核心参数配置

第一章&#xff1a;JVM调优终极指南&#xff1a;2026年必须掌握的10个核心参数配置 在现代高并发、低延迟的Java应用环境中&#xff0c;JVM调优已成为保障系统稳定与性能的关键环节。随着GraalVM和Project Loom的持续演进&#xff0c;2026年的JVM运行时环境对参数配置提出了更高…

作者头像 李华
网站建设 2026/5/30 17:08:32

为什么90%的Java工程师写的单例都是错的?——基于JIT编译优化、指令重排序与happens-before的硬核验证

第一章&#xff1a;为什么90%的Java工程师写的单例都是错的&#xff1f;——基于JIT编译优化、指令重排序与happens-before的硬核验证 在高并发场景下&#xff0c;单例模式看似简单&#xff0c;却暗藏陷阱。多数开发者实现的“懒汉式”单例在JIT编译优化和多线程环境下可能失效…

作者头像 李华
网站建设 2026/5/1 2:09:43

依赖版本打架怎么办?5个真实案例带你实战解决Maven冲突难题

第一章&#xff1a;依赖版本打架怎么办&#xff1f;5个真实案例带你实战解决Maven冲突难题 在实际开发中&#xff0c;Maven依赖冲突是Java项目常见的“隐性故障源”。不同库引入同一依赖的不同版本时&#xff0c;可能导致类找不到、方法不存在甚至运行时异常。通过分析和解决真…

作者头像 李华