Tag: CSharp
All the articles with the tag "CSharp".
-
Clean Architecture vs 模块化单体:它们根本不是对手
Published: at 04:03 AM在 .NET 架构讨论中,Clean Architecture 和 Modular Monolith 常被当作二选一的对手,但这是一种误解。两者工作在完全不同的抽象层级:一个管内部层次组织,一个管系统边界划分。本文从问题域、作用范围、部署模型到实战组合方式,把两者的区别和协作关系讲清楚。
-
MCP C# SDK v2.0 发布:无状态默认、原生 HTTP 与多轮交互
Published: at 04:03 AM官方 MCP C# SDK v2.0 随 2026-07-28 协议修订发布。三大核心变化:默认无状态架构让服务器可以水平扩展、原生 HTTP header 支持让现有基础设施直接路由 MCP 流量、Multi Round-Trip Requests 用一个模式替代了 tools/prompts/resources 三种旧模式。本文梳理 v2.0 的全部关键更新和向后兼容策略。
-
OpenTelemetry Metrics .NET:从 Counter、Histogram 到 IMeterFactory
Published: at 05:39 AM全面拆解 .NET 中 OpenTelemetry 指标埋点:System.Diagnostics.Metrics 原生 API、四种仪器类型(Counter/Histogram/Gauge/UpDownCounter)的适用场景,以及为什么应该用 IMeterFactory 而不是 new Meter()。附完整代码示例和 Prometheus/OTLP 导出配置。
-
C# 模块化单体:.NET 开发者的完整实现指南
Published: at 08:05 AM从零开始用 C# 构建一个模块化单体应用,覆盖模块封装、数据隔离与事件驱动通信。文章提供完整的项目结构和可直接运行的代码,帮助团队在不过度引入微服务复杂度的前提下提升架构可维护性。
-
HttpClient 弹性策略:.NET 10 中的超时、重试与断路器
Published: at 04:06 AM用 Microsoft.Extensions.Http.Resilience 一行代码给 HttpClient 加上重试、断路器、对冲和分层超时。对比 Polly 手写时代与现代表配式弹性管道,覆盖自定义配置、可观测性和生产级完整示例。
-
.NET Keyed Services:一个接口多实现时的依赖注入方案
Published: at 11:23 PM用 .NET 8 的 Keyed Services 替代手写工厂 switch。覆盖 AddKeyedScoped、FromKeyedServices 属性、运行时动态解析和 KeyedService.AnyKey 广播模式,帮你去掉一整类样板代码。
-
HttpClient DNS 问题:PooledConnectionLifetime 与 SocketsHttpHandler
Published: at 04:51 AM深入理解 HttpClient DNS 过期的根因——TCP 连接池使 DNS 只解析一次。掌握 SocketsHttpHandler.PooledConnectionLifetime 和 IHttpClientFactory handler 轮换两种修复方式,以及在 Kubernetes 环境中的调优策略。
-
HttpClient in C# 完全指南:.NET 开发者的正确用法
Published: at 11:23 PM从 new HttpClient() 的三个反模式到 IHttpClientFactory 的生产级用法,覆盖 handler 池化、类型化客户端、超时与取消、弹性策略、流式响应、HTTP/3 和测试策略的完整指南。