Tag: CSharp
All the articles with the tag "CSharp".
-
IHttpClientFactory 在 .NET 中的使用:命名客户端、类型化客户端与依赖注入模式
Published: at 11:07 PM了解 IHttpClientFactory 如何解决 HttpClient 的 socket 耗尽和 DNS 过期两个生产环境问题。本文覆盖基础工厂、命名客户端、类型化客户端三种模式,以及 DelegatingHandler 管道和注册陷阱,帮你在实际项目中选对方法。
-
迭代器模式 C# 实战:分页数据访问的完整实现
Published: at 12:14 AM大部分迭代器模式教程只演示玩具级别的集合遍历。本文从一个真实生产场景出发——遍历数千条数据库记录而不一次性加载到内存——带你从零构建同步与异步两个版本的分页迭代器,集成仓储模式与依赖注入,并配有完整的 xUnit 测试。看完可以直接用在自己的数据访问层里。
-
ASP.NET Core Controller 实战:把 REST 端点写清楚
Published: at 12:49 AM这篇文章梳理 ASP.NET Core Controller 的核心写法:ControllerBase、ApiController、ActionResult、模型绑定、依赖注入、薄控制器,以及 .NET 10 对 OpenAPI 和元数据的改进。
-
ASP.NET Core 路由:把 URL 稳定交给正确的端点
Published: at 11:45 PM这篇文章梳理 ASP.NET Core 路由的关键概念:attribute routing、route templates、constraints、参数绑定和 URL 生成,帮助你减少 404、路由冲突和硬编码链接。
-
用 C# 实现责任链模式:5 步写出生产级审批链
Published: at 11:12 PM以采购审批为例,分步演示 C# 责任链模式的接口 vs 抽象类选型、具体处理器编写、Builder 链构建、DI 容器集成和日志诊断,附常见踩坑点。
-
重新设计 System.Diagnostics.Process:用类型系统消除「只有启动者才能用」的陷阱
Published: at 12:43 AMRaymond Chen 提出了一种 System.Diagnostics.Process 的假想重构方案:把 StandardOutput 等属性移到 Start() 的返回类型里,用编译器替代运行时异常来守护 API 正确使用顺序。.NET 11 也正在落实类似思路。
-
DI 容器内部怎么用反射:从 55 行手写容器到 IServiceCollection
Published: at 12:23 AMDI 容器的魔法就是反射。本文从 GetConstructors → GetParameters → Resolve → Invoke 的递归循环讲起,用 55 行 C# 实现一个最小容器,再拆解 IServiceCollection 和 Scrutor 的内部机制,最后介绍源生成器如何在编译期消除反射。
-
C# 责任链设计模式:完整指南与示例
Published: at 12:20 PM责任链(Chain of Responsibility)是 GoF 行为型模式,让请求沿着处理器链依次流动,每个处理器决定是处理、转发还是短路。本文从核心组件和三种链变体入手,给出请求验证管线的完整 C# 实现,并展示 ASP.NET Core 中间件就是这个模式的框架级落地。