Tag: Dependency Injection
All the articles with the tag "Dependency Injection".
-
EF Core Interceptors 完全指南:审计字段、软删除和慢查询日志
Published: at 12:24 PM详解 EF Core 10 的 7 种 Interceptor 类型,从 SaveChangesInterceptor 自动填充审计字段,到 DbCommandInterceptor 捕获慢查询,再到作用域服务注入的正确方式和常见陷阱。
-
.NET Keyed Services:一个接口多实现时的依赖注入方案
Published: at 11:23 PM用 .NET 8 的 Keyed Services 替代手写工厂 switch。覆盖 AddKeyedScoped、FromKeyedServices 属性、运行时动态解析和 KeyedService.AnyKey 广播模式,帮你去掉一整类样板代码。
-
HttpClient in C# 完全指南:.NET 开发者的正确用法
Published: at 11:23 PM从 new HttpClient() 的三个反模式到 IHttpClientFactory 的生产级用法,覆盖 handler 池化、类型化客户端、超时与取消、弹性策略、流式响应、HTTP/3 和测试策略的完整指南。
-
IHttpClientFactory 在 .NET 中的使用:命名客户端、类型化客户端与依赖注入模式
Published: at 11:07 PM了解 IHttpClientFactory 如何解决 HttpClient 的 socket 耗尽和 DNS 过期两个生产环境问题。本文覆盖基础工厂、命名客户端、类型化客户端三种模式,以及 DelegatingHandler 管道和注册陷阱,帮你在实际项目中选对方法。
-
一位资深 .NET 开发者的 20+ 条实战建议:从 DI、Async 到 EF Core 优化
Published: at 12:09 AM这些建议不来自教程或文档,而是来自凌晨两点的 debug、遗留代码的挣扎和踩过的坑。覆盖依赖注入、异步编程、EF Core 优化、CancellationToken、缓存策略、安全、异常处理等 20+ 个领域,每条都附 bad/good 代码对比和作者的真实生产判断。
-
C# 代理模式实战:用组合叠加缓存、限流和日志
Published: at 03:40 AM当一个 HTTP 客户端同时要处理缓存、限流、日志,单类实现很快变成难以维护的混乱代码。代理模式让每个横切关注点拥有独立的类,它们共同实现同一接口,通过依赖注入组合成调用链。本文以天气 API 客户端为例,完整演示缓存代理、限流代理、日志代理和熔断器代理的 C# 实现与组合方式。
-
别再用 DateTime.Now:用 TimeProvider 让 .NET 代码可测试
Published: at 09:13 AM几乎每个 .NET 项目都有同一个隐患:DateTime.Now 散落在服务、验证器和业务规则里。表面无害,实际上让时间相关逻辑无法正确测试。本文介绍两种解决方案——自定义 IDateTimeProvider 接口和 .NET 8 内置的 TimeProvider——让时间成为可注入的依赖,配合 FakeTimeProvider 轻松测试订阅到期、试用结束等真实场景。
-
C# 状态模式完整实战指南:从接口到依赖注入
Published: at 01:40 AM用订单处理状态机为例,逐步讲解如何在 C# 中实现状态模式:定义接口、创建具体状态类、构建上下文、添加转移事件、引入守卫条件,最后接入 DI 容器。