Web探索|Asp.net||Jquery|MVC

Web前沿技术、移动解决方案
  博客园  :: 首页  :: 新随笔  :: 管理

C#获取config文件的appSettings节点封装技巧

Posted on 2014-11-19 11:39  reckcn  阅读(1047)  评论(0编辑  收藏  举报
    /// <summary>
    /// 获取AppSetting里面的内容
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="defaultValue">The default value.</param>
    /// <param name="key">The key.</param>
    /// <returns></returns>
    public static T GetAppSettingValue<T>(T defaultValue, string key)
    {
    string value = ConfigurationManager.AppSettings[key];
    if (!string.IsNullOrEmpty(value))
    {
     try
     {
         defaultValue = (T)Convert.ChangeType(value, typeof(T));
     }
     catch
     {
     }
    }
        return defaultValue;
    }
 
 /// <summary>
 /// 获取指定的Config文件的AppSetting里面的指定键值对应的value值
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="defaultValue">The default value.</param>
 /// <param name="key">The key.</param>
 /// <param name="file">The file.</param>
 /// <returns></returns>
 public static T GetAppSettingValue<T>(T defaultValue, string key, string file)
 {
     var map = new ExeConfigurationFileMap
     {
     ExeConfigFilename = file
     };
     Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
     string value = config.AppSettings.Settings[key].Value;

     if (!string.IsNullOrEmpty(value))
     {
     try
    {
         defaultValue = (T)Convert.ChangeType(value, typeof(T));
     }
     catch
     {
    }
    }
    return defaultValue;
}