Posts
All the articles I've posted.
-
HttpClient 流式传输:用 ResponseHeadersRead 和 ReadAsStreamAsync 处理海量数据
Published: at 03:57 AM默认的 HttpClient 会把整个响应体缓存到内存再交给你,下载 1GB 文件就会占用 1GB 堆内存。本文讲解如何用 HttpCompletionOption.ResponseHeadersRead 开启流式读取,配合 ReadAsStreamAsync、DeserializeAsyncEnumerable、SseParser 等 API,将峰值内存从响应尺寸级降到缓冲区级(约 80KB),覆盖大文件下载、JSON 数组流式反序列化和 Server-Sent Events 三种真实场景。
-
HttpClient 弹性策略:.NET 10 中的超时、重试与断路器
Published: at 04:06 AM用 Microsoft.Extensions.Http.Resilience 一行代码给 HttpClient 加上重试、断路器、对冲和分层超时。对比 Polly 手写时代与现代表配式弹性管道,覆盖自定义配置、可观测性和生产级完整示例。
-
Agent Harness:安全地使用你的数据——文件访问、审批与持久记忆
Published: at 11:40 PMMicrosoft Agent Framework 系列第二篇:给个人财务助手加上文件读写、工具审批(手动/自动/自定义规则)和跨会话持久记忆(文件记忆 + Foundry 事实记忆),让 AI Agent 安全地触碰真实数据。
-
Git 2.55 更新亮点:MIDX 增量重打包、git history fixup 与更多
Published: at 11:35 PMGit 2.55 发布,带来增量多包索引的几何重打包、git history fixup 修复历史提交、Linux inotify 文件监控、并行钩子、位图生成提速近一倍和众多新特性。
-
.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 环境中的调优策略。
-
用 NATS JetStream 在 .NET 中快速搭建持久化消息队列
Published: at 11:38 PM从零开始用 NATS JetStream 在 .NET 中搭建持久化工作队列。覆盖 Core NATS vs JetStream 的区别、Docker 部署、DI 注册、发布消费的完整代码,以及「先处理再 Ack」的可靠性规则。
-
多智能体 A2A 系统中的上下文传递:三种方案与选择标准
Published: at 11:33 PM基于微软 ISE 团队的真实实践,对比共享存储、内嵌上下文和每智能体状态存储三种 A2A 上下文传递方案。包含决策矩阵、摘要策略和 part 级元数据机制,帮你在多智能体系统中做出正确的架构选择。