123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- 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<string, AppSettings> AppSettingsList = new Dictionary<string, AppSettings>(); private static object lockHelper = new object();
- /// <summary>
- /// 获取数据库配置
- /// </summary>
- /// <returns></returns>
- public static Dictionary<string, AppSettings> 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<AppSettings>(xmlstr.InnerXml);
- if (configModel.IfNotNull())
- {
- if (!AppSettingsList.ContainsKey(configModel.DatabaseName))
- {
- lock (lockHelper)
- {
- if (!AppSettingsList.ContainsKey(configModel.DatabaseName))
- {
- AppSettingsList.Add(configModel.DatabaseName, configModel);
- }
- }
- }
-
- }
- }
- return AppSettingsList;
- }
- /// <summary>
- /// 获取数据库配置
- /// </summary>
- /// <returns></returns>
- public static Dictionary<string, AppSettings> 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<AppSettings>(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
- {
- /// <summary>
- /// 数据库名称
- /// </summary>
- public string DatabaseName { get; set; }
- /// <summary>
- /// 数据类型
- /// </summary>
- public string DatabaseType { get; set; }
- /// <summary>
- /// 量否加密
- /// </summary>
- public string IsConStringEncrypt { get; set; }
- /// <summary>
- /// 密匙
- /// </summary>
- public string DatabaseKey { get; set; }
- /// <summary>
- /// 读库
- /// </summary>
- public string ReadData { get; set; }
- /// <summary>
- /// 写库
- /// </summary>
- public string WriteData { get; set; }
- }
- }
|