C#操作配置文件中appSettings,connectionStrings节点「建议收藏」

C#操作配置文件中appSettings,connectionStrings节点「建议收藏」usingSystem;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Configuration;namespacemyConfiguration{   #region配置信息的操作类   ///   ///配置信息的操作   ///   publiccl

大家好,又见面了,我是你们的朋友全栈君。

   

using System;
using System.Configuration;
using System.Web;
using System.Web.Configuration;

namespace myConfiguration
{

    #region 配置信息的操作类
    /// <summary>
    /// 配置信息的操作
    /// </summary>
    public class ConfigurationOperator:IDisposable
    {

        #region 变量的声明
        /// <summary>
        /// Configuration Object
        /// </summary>
        private Configuration config;
        #endregion

        #region 构造函数,有参数(当前应用程序的虚拟路径)
        /// <summary>
        /// 构造函数,有参数(当前应用程序的虚拟路径)
        /// </summary>
        public ConfigurationOperator()
            : this(HttpContext.Current.Request.ApplicationPath)
        {

        }
        #endregion

        #region 构造函数,有参数(其他应用程序的虚拟路径)
        /// <summary>
        /// 构造函数,有参数(其他应用程序的虚拟路径)
        /// </summary>
        /// <param name=”path”>其他应用程序的虚拟路径</param>
        public ConfigurationOperator(string path)
        {

            config = WebConfigurationManager.OpenWebConfiguration(path);
        }
        #endregion

        #region 获取当前或其他应用程序配置文件中appSettings的所有keyName方法
        /// <summary>
        /// 定义获取当前或其他应用程序appSettings的所有keyName方法
        /// </summary>
        /// <returns>返回appSettings的所有keyName</returns>
        public string[] ActiveALLAppSettingsSection()
        {

            AppSettingsSection appSettings = (AppSettingsSection)config.GetSection(“appSettings”);
            string[] appKeys = appSettings.Settings.AllKeys;
            return appKeys;
        }
        #endregion

        #region 设置当前或者其他应用程序配置文件中的appSettings节点
        /// <summary>
        /// 定义设置当前或者其他应用程序配置文件中的appSettings节点
        /// </summary>
        /// <param name=”key”>keyName</param>
        /// <param name=”value”>keyValue</param>
        public void SetAppSettingsSection(string key,string value)
        {

            AppSettingsSection appSettings = (AppSettingsSection)config.GetSection(“appSettings”);
            if (appSettings.Settings[key]!=null)
            {

                appSettings.Settings[key].Value = value;
                this.Save();
            }
            else
            {

                appSettings.Settings.Add(key, value);
                this.Save();
            }
        }
        #endregion

        #region 删除当前或者其他应用程序配置文件中的appSettings节点
        /// <summary>
        /// 定义删除当前或者其他应用程序配置文件中的appSettings节点
        /// </summary>
        /// <param name=”key”>keyName</param>
        /// <returns>删除成功返回true,删除失败返回false</returns>
        public bool RemoveAppSettingsSection(string key)
        {

            AppSettingsSection appSettings = (AppSettingsSection)config.GetSection(“appSettings”);
            if (appSettings.Settings[key] != null)
            {

                appSettings.Settings.Remove(key);
                this.Save();
                return true;
            }
            else
            {

                return false;
            }

        }
        #endregion

        #region 获取当前或其他应用程序配置文件中connectionStrings节点的所有ConnectionString
        /// <summary>
        /// 定义获取当前或其他应用程序配置文件中connectionStrings节点的所有ConnectionString
        /// </summary>
        /// <returns>返回connectionStrings节点的所有ConnectionString</returns>
        public string[] ALLConnectionStrings()
        {

            ConnectionStringsSection conSection = (ConnectionStringsSection)config.GetSection(“connectionStrings”);
            ConnectionStringSettingsCollection conCollection = conSection.ConnectionStrings;
            string[] conStrings = new string[conSection.ConnectionStrings.Count];
            int i = 0;
            foreach (ConnectionStringSettings conSetting in conCollection)
            {

                conStrings[i++] = conSetting.ConnectionString;
            }
            return conStrings;
        }
        #endregion

        #region 设置当前或其他应用程序配置文件中ConnectionString节点
        /// <summary>
        /// 定义设置当前或其他应用程序配置文件中ConnectionString节点
        /// </summary>
        /// <param name=”name”>connectionStrings Name</param>
        /// <param name=”ConnectionString”>connectionStrings ConnectionString</param>
        /// <param name=”providerName”>connectionStrings ProviderName</param>
        public void SetConnectionStringsSection(string name, string ConnectionString, string providerName)
        {

            ConnectionStringsSection conSection=(ConnectionStringsSection)config.GetSection(“connectionStrings”);
            if (conSection.ConnectionStrings[name] != null)
            {

                conSection.ConnectionStrings[name].ConnectionString = ConnectionString;
                conSection.ConnectionStrings[name].ProviderName = providerName;
                this.Save();
            }
            else
            {

                ConnectionStringSettings conSettings = new ConnectionStringSettings(name, ConnectionString, providerName);
                conSection.ConnectionStrings.Add(conSettings);
                this.Save();
            }
        }
        #endregion

        #region 删除当前或其他应用程序配置文件中ConnectionString节点
        /// <summary>
        /// 定义删除当前或其他应用程序配置文件中ConnectionString节点
        /// </summary>
        /// <param name=”name”>ConnectionStrings Name</param>
        /// <returns>删除成功返回true,删除失败返回false</returns>
        public bool RemoveConnectionStringsSection(string name)
        {

            ConnectionStringsSection conSection = (ConnectionStringsSection)config.GetSection(“connectionStrings”);
            if (conSection.ConnectionStrings[name] != null)
            {

                conSection.ConnectionStrings.Remove(name);
                this.Save();
                return true;
            }
            else
            {

                return false;
            }
        }
        #endregion

        #region 保存配置文件,并重新赋值config为null
        /// <summary>
        /// 定义保存配置文件的方法
        /// </summary>
        public void Save()
        {

            config.Save();
            config = null;
        }
        #endregion

        #region 释放配置文件对象
        /// <summary>
        /// 释放配置文件对象
        /// </summary>
        public void Dispose()
        {

            if (config != null)
            {

                config.Save();
            }
        }
        #endregion
    }
    #endregion
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143565.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java如何创建文件?java创建文件流程图文详解!「建议收藏」

    Java如何创建文件?java创建文件流程图文详解!「建议收藏」用Java创建文件是非常容易的。以前我们创建文件等等行为完全通过提示来进行的,学习了java后,我们便可利用java通过命令来创建文件。1、打开您的IDE工具,并创建一个文件。2、接下来,您需要对您之前创建的文件创建一个main方法,我这里创建的文件为File_createNewFile,入下图所示:3、接下来,您需要newFile,并给它传入一个我们要创建的文件名。我们这里创建的是test.txt。4、如果您没有导包,那么就会出错,您需要导包,导入的包入下图所示。5、

  • linux中ll排序命令,ll命令

    linux中ll排序命令,ll命令-a列出目录下所有的文件,包括.开头的隐藏文件-A列出目录下所有的文件,不包括.开头的隐藏文件-c配合-lt:根据ctime排序及显示ctime(文件状态最后更改的时间)配合-l:显示ctime但根据名称排序否则:根据ctime排序-C每栏由上至下列出项目–color[=WHEN]控制是否使用色彩分辨文件。WHEN可以是‘never‘、‘always‘或‘auto‘…

  • Codeforces 474 F. Ant colony

    Codeforces 474 F. Ant colony

  • 网购冷门产品有哪些_淘宝比较冷门的商品

    网购冷门产品有哪些_淘宝比较冷门的商品sharonshen ,熠仔6149人赞同1. 小白鞋纳米喷雾!!!这个真是绝了,本人就是穿小白鞋一周就会穿成小脏鞋的那种,有了这个在新鞋的时候全方位喷一下,真的就再也不会脏了耶!其实呢,当年买它,是宝宝在法国的时候,去北欧玩,穿的雪地靴,踩在雪里,雪都能化进鞋里(顺便吐槽下,雪地靴真的不适合在雪地里面行走!!!),所以买了下面的这个喷雾,防水,后来惊讶的发现,

  • [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

    [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

  • Nacos整合SpringCloud(配置中心、注册中心)[通俗易懂]

    Nacos整合SpringCloud(配置中心、注册中心)[通俗易懂]1.什么是Nacos?Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。2.Nacos配置中心整合2.1启动NacosServer并添加配置1.下载地址:直接下载:NacosServer下载页源码构建:Github项目页面2.启动Linux/Unix/Mac操作系统,执行命令shstartup.sh-ms…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号