• AppConfigHelper 武胜


    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Text;
    using log4net;

    namespace xt {
        public class AppConfigHelper {
            private static ILog log = LogManager.GetLogger(typeof (AppConfigHelper));
            
            public static int? Get(string key, int? defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                } else {
                    int v;
                    if (!int.TryParse(s, out v)) {
                        log.WarnFormat("The key {1} is not properly configured, using default: {0}", defaultValue, key);
                    } else {
                        defaultValue = v;
                        log.InfoFormat("Get: {0}={1}", key, defaultValue);
                    }
                }
                return defaultValue;
            }
            
            public static bool? Get(string key, bool? defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                } else {
                    bool v;
                    if (!bool.TryParse(s, out v)) {
                        log.WarnFormat("The key {1} is not properly configured, using default: {0}", defaultValue, key);
                    } else {
                        defaultValue = v;
                        log.InfoFormat("Get: {0}={1}", key, defaultValue);
                    }
                }
                return defaultValue;
            }

            public static T GetEnum<T>(string key, T defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                    return defaultValue;
                } else {
                    T v = (T) Enum.Parse(typeof (T), s);
                    log.InfoFormat("Get: {0}={1}", key, defaultValue);
                    return v;
                }
            }
            
            public static string Get(string key, string defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                    return defaultValue;
                }
                log.InfoFormat("Get: {0}={1}", key, s);
                return s;
            }

            public static DateTime Get(string key, DateTime defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                    return defaultValue;
                }
                DateTime result;
                if(!DateTime.TryParse(s, out result)) {
                    log.WarnFormat("The key {0} is not properly configured, using default: {1} isntead of {3}", key, defaultValue, s);
                    return defaultValue;
                }
                log.InfoFormat("Get: {0}={1}", key, s);
                return result;
            }

            public static TimeSpan Get(string key, TimeSpan defaultValue) {
                string s = ConfigurationManager.AppSettings[key];
                if (string.IsNullOrEmpty(s)) {
                    log.WarnFormat("The key {1} is not configured, using default: {0}", defaultValue, key);
                    return defaultValue;
                }
                TimeSpan result;
                if (!TimeSpan.TryParse(s, out result)) {
                    log.WarnFormat("The key {0} is not properly configured, using default: {1} isntead of {3}", key, defaultValue, s);
                    return defaultValue;
                }
                log.InfoFormat("Get: {0}={1}", key, s);
                return result;
            }
        }

  • 相关阅读:
    javaapplicationWeb application setup on Ubuntu VPS
    内容中断随想录(risc cpu的那些事)
    算法线性编程珠玑读书笔记之----->使用线性算法求解连续子序列的最大和
    classnull100
    安装javaUbuntu下安装JDK1.6,并将之设为默认的JDK
    筛选实现C++实现筛选法
    调试设置移动端Web开发环境搭建实践
    路由器交换机[置顶] 路由器和交换机的综合实验⑵
    卡数字怀念的东西:魔方
    密码配置配置SSH免密码登陆
  • 原文地址:https://www.cnblogs.com/zeroone/p/2538658.html
Copyright © 2020-2023  润新知