C# 连接字符串集中管理实战:Interlocked 原子守卫 + volatile 双检锁 + 异步重试
连接字符串散落在 appsettings.json 与 App.config 之间?本文基于 SwitchData 项目的 DbConnectionManager,用 Interlocked.Exchange 实现无锁一次性初始化,volatile 双检锁保证回退加载的线程安全,ConcurrentDictionary 缓存解密后的连接串,解密收口在单一方法,并配套 WaitForReadyAsync 异步重试等待数据库就绪。完整代码 + 讲解,一套可以直接抄走的静态管理类设计。