Net操作配置文件(Web.config|App.config)通用类

一、Net操作web.config通用类(代码如下):

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


/// ConfigurationOperator 的摘要说明
public class ConfigurationOperator : IDisposable
{
    private Configuration config;
    public ConfigurationOperator()
        : this(HttpContext.Current.Request.ApplicationPath) { }
    public ConfigurationOperator(string path)
    {
        config = WebConfigurationManager.OpenWebConfiguration(path);
    }

    /// 设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值,否则添加此节点
    ///

    /// 节点名称 
    /// 节点值 
    public void SetAppSetting(string key, string value)
    {
        AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
        if (appSetting.Settings[key] == null)//如果不存在此节点,则添加
        {
            appSetting.Settings.Add(key, value);
        }
        else//如果存在此节点,则修改
        {
            appSetting.Settings[key].Value = value;
        }
    }
    ///

    /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改
    ///

    /// 节点名称 
    /// 节点值 
    public void SetConnectionString(string key, string connectionString)
    {
        ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");
        if (connectionSetting.ConnectionStrings[key] == null)//如果不存在此节点,则添加
        {
            ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key, connectionString);
            connectionSetting.ConnectionStrings.Add(connectionStringSettings);
        }
        else//如果存在此节点,则修改
        {
            connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
        }
    }
    ///

    /// 保存所作的修改
    public void Save()
    {
        config.Save();
        config = null;
    }
    public void Dispose()
    {
        if (config != null)
        {
            config.Save();
        }
    }
}

二、调用方法:

// 连接字符串
string connectionString = string.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3}; max pool size=150",
    tbx_ip.Text.Trim(), tbx_dbname.Text.Trim(), tbx_username.Text.Trim(), tbx_pwd.Text.Trim());

ConfigurationOperator config = new ConfigurationOperator();
config.SetConnectionString("defaultConnection", connectionString);
config.Save();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的SOD蜜

WebSocket 学习笔记--IE,IOS,Android等设备的兼容性问题与代码实现

一、背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使...

78280
来自专栏前端侠2.0

SuperSocket.WebSocket 摸索记录

文档:http://docs.supersocket.net/v1-6/zh-CN

89120
来自专栏程序员的SOD蜜

常见.NET功能代码汇总

1,在Web上修改指定文件位置的Web.config 这里需要使用 WebConfigurationManager 类,但必须使用WebConfiguratio...

458100
来自专栏林德熙的博客

win10 uwp 网络编程 带Header的WebRequest获取BufferHttpClient 使用 Cookie

上面传输的头,Head=Head+length 中的第二个Head,包含 传输者id,当前传输是传输的消息最后一段还是中间,当前传输 是服务器第消息

12810
来自专栏逸鹏说道

centos7.x下搭建netcore环境和helloworld的demo

环境:   1、centos7   2、dotnet core 1.0.0-preview1-002702 步骤:   1、安装环境(在非root权限下安装即可...

37250
来自专栏木宛城主

ASP.NET那点不为人知的事(三)

有了以下的知识: ASP.NET那点不为人知的事(一) ASP.NET那点不为人知的事(二) 想必开发一个小型服务器以不是问题了,功能补复杂,能够响应...

21690
来自专栏Golang语言社区

关于JSON.stringify和Unicode编码,需要注意的几点

1JSON.stringify会自动把所要转换内容中的汉字转换为Unicode编码 2浏览器间有差别,个别浏览器会把将要提交表单内容中的Unicode编码自动转...

42280
来自专栏技术小讲堂

ASP.NET AJAX(8)__Microsoft AJAX Library中异步通信层的使用什么是异步通信层Micorsoft AJAX Library异步通信层的组成WebRequestExec

什么是异步通信层 Microsoft AJAX Library的组长部分之一 负责ASP.NET AJAX框架中所有的客户端与服务器端的通信 其默认实现了封装了...

35950
来自专栏拂晓风起

jsp/servlet使用ajax动态加载dtree, dtree样式/图片修改 (java 生成dtree servlet json)

18120
来自专栏开源优测

AutoLine源码分析之配置管理

AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。

13030

扫码关注云+社区

领取腾讯云代金券