using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Xml; using System.ComponentModel; using System.Configuration; namespace Ant.Common { public class DataConfig { public static Dictionary AppSettingsList = new Dictionary(); private static object lockHelper = new object(); /// /// 获取数据库配置 /// /// public static Dictionary GetDataConfig() { string path = string.Empty ;//"G:\\集成项目\\ORM最新源码\\ORMCodeNew\\HouXingBBS.Admin\\App_Data\\Config\\DataAccess.config" string IsWinForm = string.Empty; IsWinForm = ConfigurationManager.AppSettings["IsWinForm"].IsEmpty() ? "" : ConfigurationManager.AppSettings["IsWinForm"]; if (string.Compare(IsWinForm, "true", true) == 0) { path = System.IO.Directory.GetCurrentDirectory() + ConfigurationManager.AppSettings["DataConfigUrl"];//取WindForm的配置路径 } else { path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["DataConfigUrl"]); } var xml = LoadXmlHelper.XmlLoading(path); DataConfiguration mod = new DataConfiguration(); var xmllist = xml.SelectNodes("configuration/AppSettings"); foreach (XmlElement xmlstr in xmllist) { var configModel = SerializationHelper.XmlDeserialize(xmlstr.InnerXml); if (configModel.IfNotNull()) { if (!AppSettingsList.ContainsKey(configModel.DatabaseName)) { lock (lockHelper) { if (!AppSettingsList.ContainsKey(configModel.DatabaseName)) { AppSettingsList.Add(configModel.DatabaseName, configModel); } } } } } return AppSettingsList; } /// /// 获取数据库配置 /// /// public static Dictionary GetDataConfig(string path) { //string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["DataConfigUrl"]); var xml = LoadXmlHelper.XmlLoading(path); DataConfiguration mod = new DataConfiguration(); var xmllist = xml.SelectNodes("configuration/AppSettings"); foreach (XmlElement xmlstr in xmllist) { var configModel = SerializationHelper.XmlDeserialize(xmlstr.InnerXml); if (configModel.IfNotNull()) { if (!AppSettingsList.ContainsKey(configModel.DatabaseName)) AppSettingsList.Add(configModel.DatabaseName, configModel); } } return AppSettingsList; } } public enum DataConfigEnum { [Description("读库")] ReadData = 0, [Description("写库")] WriteData = 1 } public class DataConfiguration { } public class AppSettings { /// /// 数据库名称 /// public string DatabaseName { get; set; } /// /// 数据类型 /// public string DatabaseType { get; set; } /// /// 量否加密 /// public string IsConStringEncrypt { get; set; } /// /// 密匙 /// public string DatabaseKey { get; set; } /// /// 读库 /// public string ReadData { get; set; } /// /// 写库 /// public string WriteData { get; set; } } }