AppConfigSetting.cs 1.5 KB
using log4net;
using System;
using System.Configuration;
using System.Reflection;
using System.Threading;
using System.Xml;

namespace Common
{
    public class AppConfigSetting
    {
        public static string GetStrVal(string key,string iniVal="")
        {
           return GetValue<string>(key, iniVal);
        }
        public static int GetIntVal(string key, int iniVal = 0)
        {
            return GetValue<int>(key, iniVal);
        }
        public static bool GetBoolVal(string key, bool iniVal = false)
        {
            return GetValue<bool>(key, iniVal);
        }
        static readonly LogBean log = new LogBean(MethodBase.GetCurrentMethod()?.DeclaringType.FullName);
        static T GetValue<T>(string key, T defaultVal)
        {
            T val=defaultVal;
            try
            {
               val= ConfigHelper.Config.Get(key, defaultVal);
            }
            catch(Exception ex)
            {
                LogUtil.Error($"获取配置{key}的值异常:", ex);
            }
            return val;
        }
        public static void SetStrVal(string key,string val)
        {
            SaveValue<string>(key, val);
        }
        static void SaveValue<T>(string key, T value)
        {
            try
            {
                ConfigHelper.Config.Set(key, value);
            }
            catch(Exception ex)
            {
                LogUtil.Error($"设置配置{key}的值为{value}异常:", ex);
            }
        }
    }
}