Tag: .NET
All the articles with the tag ".NET".
-
为 .NET HttpClient 实现 RFC 标准 HTTP 缓存
Published: at 04:49 AM介绍如何通过 Meziantou.Framework.Http.Caching 包为 HttpClient 添加符合 RFC 7234 和 RFC 8246 标准的 HTTP 缓存支持,覆盖基础用法、依赖注入集成、客户端缓存指令和并发安全机制。
-
Outbox Pattern 扩展实践:每天处理 20 亿条消息
Published: at 07:42 AM从 1,350 MPS 到 32,500 MPS,通过逐步优化 PostgreSQL 查询、批量更新和 RabbitMQ 批量发布,把 Outbox Pattern 扩展到每天处理超过 28 亿条消息。
-
Dapper 配 ASP.NET Core 10,到底适合什么场景
Published: at 03:54 AM这篇 Dapper + ASP.NET Core 10 的长文,真正值得看的不是它把 API、仓储、事务、多结果集、存储过程这些能力又罗列了一遍,而是它提醒了一个很现实的选择题:如果你在做高性能、SQL 驱动、读多写少、想自己掌控查询的系统,Dapper 依然很能打;但如果你想要完整 ORM 带来的追踪、迁移和更强抽象,它就不是省心路线。
-
.NET 里批量更新数据库该怎么优化
Published: at 12:29 AM这篇文章最值得带走的,不是又多背了几种 PostgreSQL 写法,而是搞清楚 bulk update 性能差距真正来自哪里:大多数时候瓶颈不是 SQL 不够聪明,而是应用程序和数据库之间说了太多次话。Milan 这篇把从逐行更新、EF Core SaveChanges、VALUES/CTE、UNNEST 到 temp table + binary COPY 的路径摆出来后,最有价值的结论反而非常朴素——先减少 round-trips,再谈别的优化。
-
Immutability 在 .NET 里为什么有价值
Published: at 12:27 AM这篇关于 .NET 不可变性的文章,真正值得带走的不是把 `set` 改成 `init` 这种语法差异,而是不可变对象到底买来了什么:状态一旦创建就不再被随手改写,调试路径更短,副作用更少,代码更容易推理。它并不是函数式审美偏好,而是一种用稳定状态换可维护性的工程选择。
-
Vertical Slice Architecture 里怎么处理代码重复
Published: at 12:22 AM这篇文章最有价值的地方,不是教你把 Vertical Slice Architecture 里的重复代码统统抽干,而是把一个更容易做对的判断讲清楚:VSA 里有些重复是正常代价,真正该警惕的不是重复代码本身,而是过早抽象、错误共享和重复知识。数据库查询、基础设施工具、领域规则、应用层逻辑,它们的共享边界根本不是一回事。
-
Messaging in .NET 里最该先搞懂什么
Published: at 12:20 AM这篇 .NET messaging 入门文真正值得带走的,不是某个 broker 的安装命令,而是几个最容易混淆、又最影响架构判断的基本概念:什么时候该用异步消息而不是直接 API 调用,queue 和 topic 的差别是什么,at-most-once / at-least-once 到底意味着什么,以及为什么幂等、死信队列和重试策略几乎是生产环境消息系统的基本盘。
-
ASP.NET Core 里 Refresh Token 应该怎么设计
Published: at 02:04 PM这篇关于 ASP.NET Core Refresh Token 的教程,真正值得带走的不是再学一遍 JWT,而是如何把 access token 的短时有效、refresh token 的续期能力,以及轮换、存储、失效控制这些安全边界设计清楚。Refresh token 不是简单“让用户不用重新登录”,它本质上是在设计会话续期和凭证泄露后的损害控制。
-
ASP.NET Core 全局异常处理应该怎么做
Published: at 12:37 PM这篇关于 ASP.NET Core 全局异常处理的文章,真正值得带走的不是又学了一遍 try-catch,而是怎么在 .NET 8 之后把重心放到 IExceptionHandler、Problem Details 和更清晰的异常分层上。局部捕获当然还会存在,但生产环境里更重要的是让错误响应统一、日志可追踪、异常类型能映射到明确的 HTTP 语义。