zoukankan      html  css  js  c++  java
  • 修改配置文件

      我们知道,配置文件(App.config)可以通过ConfigurationManager类读取,但是如何进行动态设置和保存呢?方法很多,这里介绍一种简单的方法:

      现在假定我有一个控制台项目,具体结构如下:

      这个App.config中内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="Name1" value="Value1" />
      </appSettings>
    </configuration>

      现在把Name1对应的数值改为Value2。无法通过ConfigurationManager完成,怎么办呢?

      解决方法是:

      1)使用OpenMappedExeConfiguration进行读取——这个方法专门用于获取配置文件(App.config结构的),并且可以修改:

    ExeConfigurationFileMap map = new ExeConfigurationFileMap();
                map.ExeConfigFilename="..\\..\\App.config";
                Configuration c = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
                c.AppSettings.Settings["Name1"].Value = "Value2";
                c.Save();

      2)使用OpenExeConfiguration法读取——这个方法和上面唯一的区别在于命名必须是(Exe文件名称.exe.config),这个文件应该随着程序发布而自己发布的,不是修改原来位于项目中的那个配置文件。

      相关代码:

    Configuration c = ConfigurationManager.OpenExeConfiguration("Csharp.exe");
                c.AppSettings.Settings["Name1"].Value = "Value2";
                c.Save();

      注意:第二个方法不允许添加后缀config——因为默认会自动添加的!

  • 相关阅读:
    [QML] Connections元素介绍
    Common Lisp语言快速入门
    DataGrid模板列取值问题
    DataGrid 中使用 复选框(CheckBox) 删除纪录
    SQL SELECT INTO
    SQL中Case的使用方法(上篇)
    SQL中Case的使用方法(下篇)
    C# ArrayList的用法
    关于 <customErrors> 标记的“mode”属性设置为“Off”的问题的解决方案
    SQL SERVER 中identity
  • 原文地址:https://www.cnblogs.com/ServiceboyNew/p/3028082.html
Copyright © 2011-2022 走看看