Tag: ASP.NET Core
All the articles with the tag "ASP.NET Core".
-
IAsyncEnumerable<T>:流式处理数据,不把所有东西塞进内存
Published: at 11:45 PM用 IAsyncEnumerable<T> 替换 ToListAsync(),将内存从 O(n) 压到 O(1)。本文提供 4 个生产级模式(EF Core、HttpClient、文件流、ASP.NET Core Controller),以及 4 种常见坑和修复方法。
-
在 ASP.NET Core 中获取客户端 IP 地址:直连与代理转发完整处理
Published: at 11:41 PMHttpContext.Connection.RemoteIpAddress 才是正确的入口,而非 Request 对象。本文从扩展方法到内置中间件,一次性讲清楚直连与代理场景下的 IP 获取方式,并附完整 C# 代码。
-
ASP.NET Core 限流:从 429 到 Redis 的生产配置
Published: at 11:42 PMASP.NET Core 内置了限流中间件,但要在生产环境用好,还需要选对算法、显式返回 429、写入 Retry-After、按用户或 API Key 分区,并在多实例部署时补上 Redis 共享计数。
-
10 个会让 .NET 10 API 崩溃生产的反模式(以及如何修复)
Published: at 04:20 AM不是所有反模式都同等危险——有4个会在凌晨两点崩溃生产,其余的只是拖慢速度或增加成本。本文逐一拆解10个真实代码库中的反模式,按破坏半径排序,给出每个的失败现场和修复方案。
-
仓储模式在 .NET 10 中还值得用吗
Published: at 11:32 PMDbContext 本身就是 Repository + Unit of Work 的实现,在它上面再包一层 IUserRepository 是用抽象包抽象。作者在 50+ 个 .NET API 项目中从未换过 ORM,但仓储层的维护成本一直都在。本文拆解 5 个常见理由,给出 3 个真正值得用的场景,并用实测数据对比薄处理器方案的性能差距。
-
IHostedService vs BackgroundService:.NET 10 后台任务选哪个
Published: at 11:21 PMBackgroundService 覆盖 .NET 后台任务 99% 的场景,但有 5 个生产坑会让你在凌晨 3 点接到警报。本文对比两种抽象的核心差异,逐一拆解常见陷阱,并附决策矩阵帮你判断何时该升级到 Hangfire 或 Quartz.NET。
-
用 Redis Backplane 横向扩展 SignalR:消息路由、粘性会话与故障边界
Published: at 08:36 AMSignalR 横向扩展后,每个实例只知道自己的连接,消息很容易发不到目标客户端。本文用 Redis backplane 串起多实例消息路由,并讲清楚 sticky sessions、ChannelPrefix、Redis 故障丢消息和 Azure SignalR Service 的取舍。
-
.NET 10 中结合 API 版本控制与 OpenAPI 文档的实践指南
Published: at 01:40 AM本文介绍如何在 .NET 10 应用中使用全新的 Asp.Versioning v10 实现 API 版本控制,涵盖 Controllers 和 Minimal APIs 两种方式,并与内置 OpenAPI 库无缝集成,生成各版本独立的文档,同时支持 SwaggerUI 和 Scalar 可视化工具。
-
ASP.NET Core 万级并发的三个崩溃点:复现、定位与修复
Published: at 02:40 AM通过一个真实的压测实验室,用 k6 把 ASP.NET Core 10 API 推到 1 万并发连接,逐一复现线程池饥饿、Socket 耗尽和无限队列三种失败模式,每种失败都对应一个精准的代码级修复,并给出可测量的前后对比数据。