asp.net中动态修改配置文件的方法

 

很多时候,我们可能会在asp.net中动态的修改配置文件,我们可以使用如下代码中涉及到的类来完成配置文件,下面的代码是修改connectionstring的例子:

System.Configuration.Configuration c  = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
        c.ConnectionStrings.ConnectionStrings.Clear();
        ConnectionStringSettings s = new ConnectionStringSettings();
        s.ProviderName = "System.Data.OleDb";
        s.ConnectionString = "Provider=Microsoft.oledb.jet.4.0;data source=c://abc.mdb";
        s.Name = "myaccess";
        c.ConnectionStrings.ConnectionStrings.Add(s);
        c.Save();

 

 

实例:

web.config

--------------------

<configuration>

<appSettings>

  <add key="MyInt" value="1234" />

  <add key="LogFolder" value="D:/WorkSpace/JavaScript/Slicing/SlicingWeb/log" />

 </appSettings>

</configuration>

----------------------

protected void Page_Load(object sender, EventArgs e)

    {

 

        //FormSave();

        WebSaveConfig();

    }

 

    /// <summary>

    /// 当不在独立 exe 内部运行时,必须指定 exePath

    /// OpenExeConfiguration(ConfigurationUserLevel.None)这个用于winform程序

    /// </summary>

    public void FormSave()

    {

        Configuration appCfg = ConfigurationManager.OpenExeConfiguration(

                                    ConfigurationUserLevel.None);//?

        AppSettingsSection appSettings = appCfg.AppSettings;

        int myInt;

        if (int.TryParse(appSettings.Settings["MyInt"].Value, out myInt))

        {

            Response.Write(myInt);

            myInt *= 10;

            appSettings.Settings["MyInt"].Value = myInt.ToString();

            //appCfg.Save();

            Response.Write("</br>" + myInt);

        }

    }

 

    /// <summary>

    /// asp.net web中

    /// </summary>

    public void WebSaveConfig()

    { 

        //string path = Server.MapPath("~/Web.config");

        Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");

        config.ConnectionStrings.ConnectionStrings.Clear();

        AppSettingsSection appSettings = config.AppSettings;

        int myInt;

        if (int.TryParse(appSettings.Settings["MyInt"].Value, out myInt))

        {

            Response.Write(myInt);

            myInt *= 10;

            appSettings.Settings["MyInt"].Value = myInt.ToString();

            config.Save();

            Response.Write("</br>" + myInt);

        }

    }

------------------

执行之后配置文件变化

web.config

--------------------

<configuration>

<appSettings>

  <add key="MyInt" value="1234" />

  <add key="LogFolder" value="D:/WorkSpace/JavaScript/Slicing/SlicingWeb/log" />

 </appSettings>

</configuration>

----------------------

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值