zoukankan      html  css  js  c++  java
  • C#对config配置文件的管理

    应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是App.Config(ExeName.exe.config)。 

    配置文件,对于程序本身来说,就是基础和依据,其本质是一个xml文件,对于配置文件的操作,从.NET 2.0 开始,就非常方便了,提供了 System [.Web] .Configuration 这个管理功能的NameSpace,要使用它,需要添加对System.configuration.dll的引用。 

    对于WINFORM程序,使用 System.Configuration.ConfigurationManager;

    对于ASP.NET 程序, 使用 System.Web.Configuration.WebConfigurationManager;

    对于配置文件内容的读取,真是太普遍不过了,如果你的程序里,没有读取配置文件内容的方面,你都不好意思拿出来用。

     

    我们以最常见的 AppSettings 小节来作为例子:

    假设有如下的配置文件内容:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="y" value="this is Y"/>
      </appSettings>
    </configuration>

    1. 读取值:

    Asp.Net:   System.Web.Configuration.WebConfigurationManager.AppSettings[“y”];
    WinForm:  System.Configuration.ConfigurationManager.AppSettings[“y”];

    2. 添加一项

    ASP.NET(需要有写权限):
    Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
    AppSettingsSection app = config.AppSettings;
    app.Settings.Add("x", "this is X");
    config.Save(ConfigurationSaveMode.Modified);
     
    WinForm:
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//需要打开的配置文件路径
    AppSettingsSection app = config.AppSettings;
    app.Settings.Add("x", "this is X");
    config.Save(ConfigurationSaveMode.Modified);//保存

    3. 修改一项

    Asp.Net
    Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
    AppSettingsSection app = config.AppSettings;
    //app.Settings.Add("x", "this is X");
    app.Settings["x"].Value = "this is not Y";
    config.Save(ConfigurationSaveMode.Modified);
     
    WinForm
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    AppSettingsSection app = config.AppSettings;
    //app.Settings.Add("x", "this is X");
    app.Settings["x"].Value = "this is not Y";
    config.Save(ConfigurationSaveMode.Modified);

    4. 删除一项

    Asp.Net
    Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
    AppSettingsSection app = config.AppSettings;
    app.Settings.Remove("x");
    config.Save(ConfigurationSaveMode.Modified);
     
    WinForm
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    AppSettingsSection app = config.AppSettings;
    app.Settings.Remove("x");
    config.Save(ConfigurationSaveMode.Modified);

    说明:需要注意的是,代码所修改的并不是app.config,而是[Application_Name].exe.config这个文件。其中Application_Name就是你的可执行文件的文件名,而[Application_Name].exe.config才是真正起作用的配置文件。至于app.config,把它理解为是初始化配置文件比较合适。对于winfom在vs调试下app.config无变化是正常的,bin里面生成的程序,运行可看到效果

  • 相关阅读:
    beta分布
    python中os.walk浏览目录和文件
    (zz)Linux下Gcc生成和使用静态库和动态库详解
    GNU scientific library
    python 字典有序无序及查找效率,hash表
    Python代码分析工具之dis模块
    python里的坑。http://www.pythoner.com/356.html
    python实现单向链表
    Python 执行字符串表达式函数(eval exec execfile)
    版本管理神器git上手
  • 原文地址:https://www.cnblogs.com/duanjt/p/5215872.html
Copyright © 2011-2022 走看看