using System.Collections.Concurrent; using OS.Common.ComModels; namespace OS.Common.Modules.DirConfigModule { /// /// 字典配置通用存储获取信息 /// public static class DirConfigUtil { private static readonly ConcurrentDictionary _dirConfigDirs = new ConcurrentDictionary(); /// /// 通过模块名称获取 /// /// /// private static IDirConfig GetDirConfig(string dirConfigModule) { if (string.IsNullOrEmpty(dirConfigModule)) dirConfigModule = ModuleNames.Default; if (_dirConfigDirs.ContainsKey(dirConfigModule)) return _dirConfigDirs[dirConfigModule]; var dirConfig = OsConfig.Provider.GetDirConfig(dirConfigModule) ?? new DirConfig(); _dirConfigDirs.TryAdd(dirConfigModule, dirConfig); return dirConfig; } /// /// 设置字典配置信息 /// /// /// /// 模块名称 /// /// public static ResultModel SetDirConfig(string key, TConfig dirConfig, string moduleName = null) where TConfig : class, new() { return GetDirConfig(moduleName).SetDirConfig(key, dirConfig); } /// /// 获取字典配置 /// /// /// /// 模块名称 /// public static TConfig GetDirConfig(string key, string moduleName = null) where TConfig : class ,new() { return GetDirConfig(moduleName).GetDirConfig(key); } /// /// 移除配置信息 /// /// /// 模块名称 /// public static ResultModel RemoveDirConfig( string key, string moduleName = null) { return GetDirConfig(moduleName).RemoveDirConfig(key); } } }