zoukankan      html  css  js  c++  java
  • C# Web.config 配置文件读取、设置

    using System;
    using System.Configuration;
    
    namespace ConfigurationTool
    {
        /// <summary>
        /// 用于XML操作
        /// </summary>
        public class ConfigurationHelper
        {
            //定义一个用于保存静态变量的实例
            private static ConfigurationHelper instance = null;
            //定义一个保证线程同步的标识
            private static readonly object locker = new object();
            //构造函数为私有,使外界不能创建该类的实例
            private ConfigurationHelper() { }
            public static ConfigurationHelper Instance
            {
                get
                {
                    if (instance == null)
                    {
                        lock (locker)
                        {
                            if (instance == null) instance = new ConfigurationHelper();
                        }
                    }
                    return instance;
                }
            }
    
            /// <summary>
            /// 读取指定路径下Web.config,指定key的value
            /// </summary>
            /// <param name="filePath">路径</param>
            /// <param name="key">key</param>
            /// <returns></returns>
            public string ReadConfiger(string filePath, string key)
            {
                ExeConfigurationFileMap map = new ExeConfigurationFileMap();
                map.ExeConfigFilename = filePath;
                Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
                string value = config.AppSettings.Settings[key].Value;
                return value;
            }
    
            /// <summary>
            /// 保存指定路径下Web.config,指定key的value
            /// </summary>
            /// <param name="filePath">路径</param>
            /// <param name="key">key</param>
            /// <param name="value">value</param>
            /// <returns></returns>
            public string SaveConfiger(string filePath, string key,string value)
            {
                ExeConfigurationFileMap map = new ExeConfigurationFileMap();
                map.ExeConfigFilename = filePath;
                Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
                //写入<add>元素的Value
                config.AppSettings.Settings[key].Value = value;
                //一定要记得保存,写不带参数的config.Save()也可以
                config.Save();
                //刷新,否则程序读取的还是之前的值(可能已装入内存)
                ConfigurationManager.RefreshSection("appSettings");
    
                return value;
            }
    
            /// <summary>
            /// 根据key获取value
            /// </summary>
            /// <param name="key">key</param>
            /// <returns></returns>
            public string GetValueByKey(string key)
            {
                try
                {
                    return ConfigurationManager.AppSettings[key];
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
    
            /// <summary>
            /// 设置key对应value
            /// </summary>
            /// <param name="key">key</param>
            /// <param name="value">value</param>
            public void SetValueByKey(string key, string value)
            {
                try
                {
                    //获取Configuration对象
                    Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                    //根据Key读取<add>元素的Value
                    //string name = config.AppSettings.Settings[key].Value;
                    //写入<add>元素的Value
                    config.AppSettings.Settings[key].Value = value;
                    //增加<add>元素
                    //config.AppSettings.Settings.Add("url", "//www.jb51.net");
                    //删除<add>元素
                    //config.AppSettings.Settings.Remove("name");
                    //一定要记得保存,写不带参数的config.Save()也可以
                    config.Save();
                    //刷新,否则程序读取的还是之前的值(可能已装入内存)
                    ConfigurationManager.RefreshSection("appSettings");
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
    
        }
    }
    

      

    博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
  • 相关阅读:
    B0BO TFS 安装指南(转载)
    Web前端开发神器--WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版
    huhamhire-hosts — Hosts文件自动配置工具
    JFinal tomcat配置根路径(包括windows和linux)
    JSON 之FastJson解析
    JFinal使用笔记1-部署demo项目到本地tomcat
    HDU 4891 The Great Pan
    FragmentActivity+FragmentTabHost+Fragement替代TabActibvity+TabHost+Activity
    HIT 2255 Not Fibonacci(矩阵高速幂)
    STM32学习之路-感觉自己走到了一个天大的坑里了!
  • 原文地址:https://www.cnblogs.com/YYkun/p/15207279.html
Copyright © 2011-2022 走看看