zoukankan      html  css  js  c++  java
  • 对获取config文件的appSettings节点简单封装

    转:http://www.cnblogs.com/marvin/archive/2011/07/29/EfficiencyAppSetting.html

      C#的开发中,无论你是winform开发还是webform开发,都需要通过config文件来配置一些信息,因此我们也经常需要获取其中的 appSettings节点的值。当然,.net已经对访问这个节点做了封装,我们可以很方便的访问该节点。但是,我觉得还是不够满意,因为我需要在获取 不到节点的时候能够返回默认的值,获取的时候能够自动转为我需要的类型,我需要能够随时指定config文件,而不仅仅是默认的web.config文件 或者是*.exe.config文件。尤其最后的那个功能,嘿嘿,别以为这个没有用,有时候,我们是需要共用一个配置文件的。比如你在开发Windows 服务的时候,你不会希望你用界面的那个程序和Windows服务的程序有两个一样的配置文件吧

          直接贴代码:

         

    /// <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;
            }
  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/ShoneH/p/4704684.html
Copyright © 2011-2022 走看看