Tag: dotnet
All the articles with the tag "dotnet".
-
重新设计 System.Diagnostics.Process:用类型系统消除「只有启动者才能用」的陷阱
Published: at 12:43 AMRaymond Chen 提出了一种 System.Diagnostics.Process 的假想重构方案:把 StandardOutput 等属性移到 Start() 的返回类型里,用编译器替代运行时异常来守护 API 正确使用顺序。.NET 11 也正在落实类似思路。
-
用 .NET 构建 MCP 服务器:让 AI 自动执行 API 性能测试
Published: at 06:05 AM本文演示如何用一个 NuGet 包在 ASP.NET Core 里构建 MCP 服务器,把负载测试封装成 AI 可调用工具。连上 GitHub Copilot 之后,一句自然语言就能运行压测、对比两个端点的延迟,并自动诊断 ThreadPool 饥饿、GC 压力等常见性能问题。
-
Microsoft Agent Framework 中的持久化工作流实战
Published: at 12:03 AMMicrosoft Agent Framework(MAF)提供了 Executor + WorkflowBuilder 工作流编程模型,让开发者从本地内存运行起步,逐步演进为可持久化、可分布式、可托管到 Azure Functions 的生产级 AI Agent 编排系统,同时支持 Fan-Out/Fan-In、Human-in-the-Loop 和 MCP Tool 暴露。
-
.NET 10 NuGet 包裁剪:减少 70% 误报漏洞,restore 最多快 50%
Published: at 11:48 PM.NET 10 默认开启 NuGet 包裁剪(Package Pruning),在 restore 时自动移除 .NET 运行时已内置的包。Microsoft 遥测显示,与旧默认值相比,传递性漏洞误报减少 70%,restore 时间最多降低 50%。
-
仓储模式在 .NET 10 中还值得用吗
Published: at 11:32 PMDbContext 本身就是 Repository + Unit of Work 的实现,在它上面再包一层 IUserRepository 是用抽象包抽象。作者在 50+ 个 .NET API 项目中从未换过 ORM,但仓储层的维护成本一直都在。本文拆解 5 个常见理由,给出 3 个真正值得用的场景,并用实测数据对比薄处理器方案的性能差距。
-
IHostedService vs BackgroundService:.NET 10 后台任务选哪个
Published: at 11:21 PMBackgroundService 覆盖 .NET 后台任务 99% 的场景,但有 5 个生产坑会让你在凌晨 3 点接到警报。本文对比两种抽象的核心差异,逐一拆解常见陷阱,并附决策矩阵帮你判断何时该升级到 Hangfire 或 Quartz.NET。
-
EF Core 10 大性能陷阱(以及如何修复)
Published: at 01:40 AM开发环境测试通过、生产环境响应爆炸——这 10 个 EF Core 查询模式问题会在真实流量下把接口拖垮。每个问题都有 .NET 10 下的具体修复代码。
-
别再用 DateTime.Now:用 TimeProvider 让 .NET 代码可测试
Published: at 09:13 AM几乎每个 .NET 项目都有同一个隐患:DateTime.Now 散落在服务、验证器和业务规则里。表面无害,实际上让时间相关逻辑无法正确测试。本文介绍两种解决方案——自定义 IDateTimeProvider 接口和 .NET 8 内置的 TimeProvider——让时间成为可注入的依赖,配合 FakeTimeProvider 轻松测试订阅到期、试用结束等真实场景。