using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
namespace WebApiDemo2.Utils
{
public class ConfigUtil
{
获取根目录
//private static string rootPath = HttpRuntime.AppDomainAppPath.ToString();
//private string exeName = System.Reflection.Assembly.GetExecutingAssembly().FullName;
private ConfigUtil(){ }
private static readonly object m_cfgMutex = new object();
private static ConfigUtil instance;
private static ExeConfigurationFileMap map;
private static Configuration configManager;
public static ConfigUtil GetInstance()
{
if(instance == null)
{
lock (m_cfgMutex)
{
if(instance == null)
{
instance = new ConfigUtil();
}
}
map = new ExeConfigurationFileMap();
map.ExeConfigFilename = GetCfgFilePath();
configManager = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
}
return instance;
}
public static string GetCfgFilePath()
{
return GetRootPat() + "Config\\"+GetExeName()+".Config";
}
public static string GetRootPat()
{
return HttpRuntime.AppDomainAppPath.ToString();
}
public static string GetExeName()
{
//WebApiDemo2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
string fullName = System.Reflection.Assembly.GetExecutingAssembly().FullName;
return fullName.Substring(0, fullName.IndexOf(","));
}
public string GetCfgValue(string key)
{
if(configManager.HasFile)
{
return configManager.AppSettings.Settings[key].Value;
}
return "";
}
}
}