zoukankan      html  css  js  c++  java
  • 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;
            }
        }

  • 相关阅读:
    js插件ztree使用
    asp.net错误页和asp.net mvc错误页设置
    C#实现Excel的导入导出
    ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
    iOS开发UI篇—UITabBarController简单介绍
    iOS开发UI篇—字典转模型
    iOS开发UI篇—从代码的逐步优化看MVC
    iOS开发UI篇—九宫格坐标计算
    iOS开发UI篇—transframe属性(形变)
    iOS开发UI篇—懒加载
  • 原文地址:https://www.cnblogs.com/zeroone/p/2538658.html
Copyright © 2011-2022 走看看