阿Y博客

上辈子作恶多端,这辈子Chsarp后端
文章发布热力图
C# ADO.NET 数据库连接管理器实战:加密连接字符串、并发初始化与重试就绪检测

C# ADO.NET 数据库连接管理器实战:加密连接字符串、并发初始化与重试就绪检测

在 SwitchData 项目中,数据库连接字符串不仅需要集中管理,还要兼顾安全性与启动可靠性。本文拆解 DbConnectionManager 的实现,讲解如何用 ConcurrentDictionary 做线程安全缓存、Interlocked.Exchange 实现单次初始化、双模式回退兼容 WinForms,以及 WaitForReadyAsync 带 CancellationToken 的重试就绪检测。
数据库 3 0 0
手写 LINQ 表达式树解析器:将 Lambda 条件翻译为数据库查询

手写 LINQ 表达式树解析器:将 Lambda 条件翻译为数据库查询

从 SwitchData 项目的 ExpressionParser 出发,手把手拆解如何把 LINQ 表达式树拆解成结构化查询条件。详解 ExpressionVisitor 遍历、闭包常量提取、运算符反转、括号分组还原,以及 MetadataCache 元数据缓存和 PredicateBuilder 动态表达式组合,读完就能手写一个轻量 LINQ Provider。
.NET 2 0 0
C# 从零实现 Telnet 协议客户端:Socket 连接超时 + Telnet 协商 + 异步回调完整实战

C# 从零实现 Telnet 协议客户端:Socket 连接超时 + Telnet 协商 + 异步回调完整实战

在网络设备管理中,通过 Telnet 连接交换机、路由器发送命令是常见需求。本文基于 SwitchData 项目的真实实现,讲解如何用 C# 从零实现一个完整的 Telnet 客户端,涵盖 Socket BeginConnect 异步超时、Telnet IAC 协商命令自动响应(DO/DONT/WILL/WONT)、子协商(终端类型 VT100 + 窗口大小)、同步 Read 与异步事件回调两种工作模式、以及连接存活检测技巧。
.NET 4 0 0