zoukankan      html  css  js  c++  java
  • C# 操作配置文件的方法

    using System;
    using System.Configuration;
    
    namespace HT.IMS.Utility
    {
        /// <summary>
        /// 操作配置文件(修改)
        /// </summary>
        public class AppSettings
        {
            /// <summary>
            /// 设置配置文件AppSettings节点的键名和值并持久化到文件
            /// </summary>
            /// <param name="key">节点名称</param>
            /// <param name="value">节点值</param>
            public static void SetConfig(string key, string value)
            {
                try
                {
                    //打开配置文件流
                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    
                    AppSettingsSection section = config.AppSettings;
    
                    if (section != null && section.Settings[key] != null)
                    {
                        section.Settings[key].Value = value;
                    }
                    else
                    {
                        section.Settings.Add(new KeyValueConfigurationElement(key, value));
                    }
    
                    //保存修改后的节点
                    config.Save(ConfigurationSaveMode.Modified);
    
                    //刷新节点,以便下次从 ConfigurationManager.AppSettings 中取值时,
                    //重新从磁盘读取节点的值
                    ConfigurationManager.RefreshSection("appSettings");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
    
            public static void SetConfigConnectionstring(string key, string value)
            {
                try
                {
                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    
                    ConnectionStringsSection section = config.ConnectionStrings;
    
                    if (section != null && section.ConnectionStrings[key] != null)
                    {
                        section.ConnectionStrings[key].ConnectionString = value;
                    }
                    else
                    {
                        section.ConnectionStrings.Add(new ConnectionStringSettings(key, value, "System.Data.SqlClient"));
                    }
    
                    config.Save(ConfigurationSaveMode.Modified);
    
                    ConfigurationManager.RefreshSection("connectionStrings");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
    
        /// <summary>
        /// 操作配置文件(读取)
        /// </summary>
        /// <typeparam name="T">返回什么类型的值</typeparam>
        public class AppSettings<T> : AppSettings
        {
            public static T GetConfig(string key, byte valType = 0)
            {
                try
                {
                    Type type = typeof(T);
                    object result = null; //返回特定类型的值                
                    object val = null; //配置节点的值
    
                    if (valType == 0)
                        val = ConfigurationManager.AppSettings[key];
                    else
                        val = ConfigurationManager.ConnectionStrings[key];
    
                    if (type == typeof(int))
                        result = Convert.ToInt32(val);
                    else if (type == typeof(string))
                        result = Convert.ToString(val);
                    else if (type == typeof(double))
                        result = Convert.ToDouble(val);
                    else
                        result = Convert.ChangeType(val, type);
    
                    return (T)result;
                }
                catch
                {
                    return default(T);
                }
            }
        }
    }
  • 相关阅读:
    爬虫之字体解密
    【大数据】PySpark 使用 FileSystem 操作 HDFS
    数据读取保存(五)
    Spark SQL 数据源(三)
    hive 之 DML 操作(六)
    【Python】散列的一种实现
    【Python】插入记录并获取其自增ID(PyMysql)
    sbt 编译打包(六)
    Spark SQL (二)
    2022年的第一篇
  • 原文地址:https://www.cnblogs.com/hellowzl/p/9118267.html
Copyright © 2011-2022 走看看