Tag: C#
All the articles with the tag "C#".
-
ASP.NET Core Web API 集成测试:用 WebApplicationFactory 跑完整 HTTP 管线
Published: at 11:10 PMWebApplicationFactory 可以在测试中启动真实 ASP.NET Core 管线,再替换数据库、认证和外部服务。本文按测试宿主、请求断言、认证伪造、数据隔离和 xUnit 组织方式,梳理一套可落地的 Web API 集成测试写法。
-
C# Mediator 模式:把对象通信收回到一个中介
Published: at 12:18 AMMediator 模式适合处理多个对象之间越来越乱的通信关系。它把对象间的直接引用改成通过中介协调,降低耦合,但也可能把中介写成 God Object。这篇用 C# 示例、事件驱动变体和 MediatR 讲清楚取舍。
-
ASP.NET Core Middleware:把请求管道顺序讲清楚
Published: at 11:56 PMASP.NET Core middleware 看起来只是几行 app.Use,但真正影响线上行为的是管道模型、注册顺序、短路机制和 DI 生命周期。这篇用请求进入与响应返回的视角,把自定义中间件、IMiddleware、Correlation ID 和请求耗时记录讲清楚。
-
Minimal API vs Controller:ASP.NET Core 中两种 API 风格怎么选
Published: at 05:54 AMMinimal API 和 Controller 是 ASP.NET Core 中两种主流 API 构建方式。本文从语法、DI、过滤器、测试、规模化组织和 .NET 10 最新改进等维度做全面对比,给出一份实用的决策矩阵,帮你根据团队和项目实际情况作出选择。
-
ASP.NET Core Web API 完全指南:请求管道、认证、错误处理到生产部署
Published: at 12:40 AM从请求管道到生产部署,系统梳理 .NET 10 中 ASP.NET Core Web API 的核心知识:中间件顺序、属性路由、JWT 认证与策略授权、ProblemDetails 错误处理、模型验证、WebApplicationFactory 集成测试以及 Docker 容器化部署。
-
.NET 10 Native AOT 下让反射保持安全:DynamicallyAccessedMembers 实用指南
Published: at 06:25 AMNative AOT 把不可达类型一并裁掉,反射在运行时就空手而归。本文按 Dev Leader 的思路梳理 IL2xxx 警告含义,演示用 [DynamicallyAccessedMembers]、[RequiresUnreferencedCode]、[RequiresDynamicCode] 把反射注解清楚,并给出 .NET 10 上的 AOT 兼容审计清单。
-
Reflection vs Source Generators:.NET 10 里选谁,看你什么时候知道类型
Published: at 12:09 AM.NET 10 里给框架级代码做类型扫描,反射和源生成器是两套答案。前者在运行时灵活但有开销、对 AOT 不友好,后者在编译期生成真实 C# 代码、零运行时开销且 AOT 友好。文章按 Dev Leader 的对比把两者并排过一遍,给出选型清单和混合用法。
-
Template Method vs Strategy:C# 里两种“变中有不变”的算法骨架取舍
Published: at 12:00 AM模板方法用继承锁住算法结构,策略模式用组合换实现,两者都能做到“主流程不变、个别步骤可换”。文章用同一个数据处理管道把两种写法拆开比一遍,并给出选型清单和组合使用的示例。