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;
            }
        }

  • 相关阅读:
    router使用以及vue的动画效果
    配置wbepack
    Axios插件和loading的实现
    自定义组件的 v-model
    组件模块化使用
    组件基础
    vue的使用1
    solt插槽的使用。
    Vue的使用
    Vue的router使用
  • 原文地址:https://www.cnblogs.com/zeroone/p/2538658.html
Copyright © 2011-2022 走看看