zoukankan      html  css  js  c++  java
  • 运行时修改config文件

    运行时修改config文件

    【IT168知识库】
     


    首先要添加对System.Configuration的引用。

    修改App.config的数据库连接字符串:

                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

                config.ConnectionStrings.ConnectionStrings[
    "ConnectionString"].ConnectionString = String.Format(
                    
    "server={0};uid={1};pwd={2};database={3}",
                    cboServer.Text,
                    txtUser.Text.Trim(),
                    txtPassword.Text.Trim(),
                    cboDatabase.Text);

                config.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);

    config文件中内容如下:
    <configuration>
        
    <connectionStrings>
            
    <add name="ConnectionString" connectionString="server=(local);uid=sa;pwd=sa;database=MYDB" providerName="System.Data.SqlClient"/>
            
    <add name="ConnectionString1" connectionString="server=(local);uid=sa;pwd=123;database=MYDB" providerName="System.Data.SqlClient"/>
        
    </connectionStrings>
    </configuration>

    如果是Web.config要使用这句打开config文件:
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");

    不过修改web.config后,会造成Session被清除。



    也可以使用对象模型的方式去修改:
    config文件如下:
    <configuration>
        
    <configSections>
    <section name="MyClass" type="MyCommponents.MyClass, MyCommponents"/>
    </configSections>
    <MyClass MyProperty="0"/>
    </configuration>

    MyCommponents签名的话,也要相应添加Version,Culture,PublicKeyToken。

    这样写config文件后,在MyCommponents程序集中定义一个MyClass类

    namespace MyCommponents
    {
        
    public class MyClass : ConfigurationSection
        
    {
            
    public MyClass() { }

            [ConfigurationProperty(
    "MyProperty")]
            
    public Int32 MyProperty
            
    {
                
    get return (int)this["MyProperty"]; }
                
    set this["MyProperty"= value; }
            }

        }

    }

    修改代码如下:
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");

                MyClass configData 
    = config.GetSection("MyClass"as MyClass;
    configData.MyProperty 
    = 1;
    config.Save(ConfigurationSaveMode.Modified);
    ConfigurationManager.RefreshSection(configData.SectionInformation.Name);
  • 相关阅读:
    操作系统——生产者消费者
    flutter如何搭建android环境
    小程序uni-app图片预览uni.previewImage会触发onshow这个生命周期
    小程序 uni-app动态更改标题
    小程序uni-app处理input框将页面往上推动的解决办法
    去除小程序scroll-view产生的横向滚动条
    小程序生命周期详解
    h5移动端像素适配 postcss-pxtorem和amfe-flexible
    vue平铺日历组件
    组合数
  • 原文地址:https://www.cnblogs.com/kingkoo/p/1126106.html
Copyright © 2011-2022 走看看