Tag: C#
All the articles with the tag "C#".
-
用 MeterListener 在进程内采集 .NET 指标
Published: at 04:00 AMAndrew Lock 详解如何用 MeterListener 在进程内订阅 System.Diagnostics.Metrics 的 Instrument,涵盖回调配置、observable 触发、标签处理与线程安全聚合,并通过 Spectre.Console 实时展示 ASP.NET Core 运行时指标。
-
.NET 进程内同步 API 全览:从 lock 到 Barrier
Published: at 03:00 AM系统梳理 .NET 进程内线程同步的全套 API——lock 语句、Lock/Monitor、Mutex、Semaphore、ReaderWriterLock、事件类、CountdownEvent、SpinLock、Barrier 等,附分类对照表与实用准则。
-
Outbox Pattern 扩展实践:每天处理 20 亿条消息
Published: at 07:42 AM从 1,350 MPS 到 32,500 MPS,通过逐步优化 PostgreSQL 查询、批量更新和 RabbitMQ 批量发布,把 Outbox Pattern 扩展到每天处理超过 28 亿条消息。
-
Immutability 在 .NET 里为什么有价值
Published: at 12:27 AM这篇关于 .NET 不可变性的文章,真正值得带走的不是把 `set` 改成 `init` 这种语法差异,而是不可变对象到底买来了什么:状态一旦创建就不再被随手改写,调试路径更短,副作用更少,代码更容易推理。它并不是函数式审美偏好,而是一种用稳定状态换可维护性的工程选择。
-
当一个浏览器被压到 1000 行 C,真正被拷问的不是功能多少,而是 Web 到底还剩多少本质
Published: at 04:38 AMMaurycy 这篇《The web in 1000 lines of C》最有意思的地方,不是又有人用 C 手搓了个小玩具,而是它用一个极端克制的实现,把现代 Web 一个很少被认真追问的问题重新摆上台面:如果我只想读网页,而不是运行整套广告、跟踪、脚本和复杂前端运行时,到底需要多少浏览器?答案当然不是“1000 行就够了”,但这 1000 行足够把什么是本质、什么是历史包袱,切得很清楚。
-
用 GitHub Copilot SDK 构建真实 C# 应用:端到端架构模式
Published: at 12:00 AM"Hello world" 演示和生产级应用之间有一道深沟。本文梳理三种核心模式:CLI 工具、ASP.NET Core API、自主 Console Agent,以及配套的依赖注入、错误处理和可观测性实践,帮你把 GitHub Copilot SDK 真正用到项目里。
-
官方 MCP C# SDK 到了 1.0,MCP 在 .NET 里开始像生产工具了
Published: at 12:00 AM官方 MCP C# SDK 发布 v1.0,对齐 2025-11-25 版 MCP 规范,把增量授权、URL elicitation、sampling 工具调用、长请求轮询与 tasks 一次补齐,.NET 开发者终于能更认真地把 MCP 带进真实系统。
-
.NET 中的向量数据:AI 构建模块(第二部分)
Published: at 12:00 AMMicrosoft.Extensions.VectorData 为 .NET 提供了统一的向量数据库抽象,让你用一套代码对接 Qdrant、Redis、SQL Server 等多种向量存储,轻松实现语义搜索和 RAG 模式。