Posts
935
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
935
Tags
583
Featured
0
Serilog 接入 ASP.NET Core 的推荐做法就那几步,但第一次做容易踩坑:漏掉启动异常、bootstrap logger 用太久、没走 appsettings.json 配置。这篇按 .NET 9/10 把两阶段初始化、分环境配置、请求日志中间件和验证完整走一遍。
Continue reading
Serilog 接入 ASP.NET Core 的推荐做法就那几步,但第一次做容易踩坑:漏掉启动异常、bootstrap logger 用太久、没走 appsettings.json 配置。这篇按 .NET 9/10 把两阶段初始化、分环境配置、请求日志中间件和验证完整走一遍。
MCP 不是 AI 框架,也不是又一个 REST API,而是给 AI 应用发现和调用外部能力的统一契约。本文用 .NET 开发者熟悉的思路讲清主机/客户端/服务器三个角色、工具/资源/提示三类能力,以及什么时候该用 MCP、什么时候普通 REST 就够了。
TypeScript 7.0 是用 Go 重写的原生版本,完整构建普遍快 8-12 倍,内存更省。本文讲清它快在哪、怎么和 6.0 并存安装、有哪些破坏性默认变更,以及 Vue/Svelte 等嵌入式场景暂时还不能用的原因。
只改一个属性,就能让同一个 NuGet 包给 .NET 6、.NET 8 和老框架各自发一份专属程序集。本文讲清楚 TargetFrameworks 怎么配、条件编译怎么写、依赖怎么按框架隔离,以及打包后如何验证。
MapIdentityApi 一行代码就能给你 /register、/login、/refresh 等 10 个认证端点,但它发的 token 不是 JWT。本文讲清这个取舍:什么时候用它省掉几天开发,什么时候必须自己接管。
从零开始用 C# 构建一个模块化单体应用,覆盖模块封装、数据隔离与事件驱动通信。文章提供完整的项目结构和可直接运行的代码,帮助团队在不过度引入微服务复杂度的前提下提升架构可维护性。
从零构建 MCP Server 和 Client:Stdio 与 Streamable HTTP 传输、工具/资源/提示词的定义方式、依赖注入、安全认证、Azure 部署,以及 MCP Inspector 调试方法。
覆盖 Serilog 在 ASP.NET Core 中的完整接入流程:两阶段引导初始化、appsettings.json 配置、Sink 和 Enricher 的使用方式、请求日志中间件,以及输出模板与 JSON 格式化的最佳实践。
详解 EF Core 10 的 7 种 Interceptor 类型,从 SaveChangesInterceptor 自动填充审计字段,到 DbCommandInterceptor 捕获慢查询,再到作用域服务注入的正确方式和常见陷阱。
区分传统分层单体、模块化单体和分布式单体反模式,用代码演示 C# 中如何通过依赖注入和 internal 关键字保护模块边界,并给出何时用单体、何时拆微服务的判断框架。
详解 .NET 10 中 HttpClient 的日志记录与可观测性方案:内置 ILogger 集成、DelegatingHandler 自定义日志、敏感头安全过滤、OpenTelemetry 分布式追踪与指标,附完整生产级代码示例。