• C# 读写App.config配置文件


    一、C#项目中添加App.config配置文件

      在控制台程序中,默认会有一个App.config配置文件,如果不小心删除掉,或者其他程序需要配置文件,可以通过添加得到。

      添加步骤:右键项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”,默认的文件名称为“ App.config ”,单击“确定”。

      

    二、配置文件格式

      新建以后会得到一个App.config的文件,双击打开,默认如下面XML所示:

    1 <?xml version="1.0" encoding="utf-8" ?>
    2 <configuration>
    3     <startup> 
    4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    5     </startup>
    6 </configuration>

      可以对其添加节点,我们常用的是appSettings节点,appSettings里面在添加配置信息

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
      <appSettings>
        <add key="MaxNum" value="10000"/>
      </appSettings>
    </configuration>

    三、读写App.config配置文件

      右键项目的"引用",选择"添加应用",点击弹窗的左上角"程序集",并在右边搜索框输入"System.Configuration",选择"System.Configuration"并确定。

      

      在类中引用命名空间,using System.Configuration;

      1.读取

    string maxNumStr= ConfigurationManager.AppSettings["MaxNum"];

      2.修改

    Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    cfa.AppSettings.Settings["MaxNum"].Value = '20000';
    cfa.Save(ConfigurationSaveMode.Modified);

      注:不管在Debug和实际运行中,其实修改的并不是App.config文件,而是修改的xxx.exe.config文件。程序在实际运行中不会使用App.config文件中的值,都是使用的xxx.exe.config文件。

    四、.config和.exe.config和.vshost.exe.config后缀文件的区别

      .vshost.exe.config是程序运行时的配置文本(属于临时文件)

      .exe.config是程序运行后会复制到vshost.exe.config

      .config是在编辑代码时候存在的文件,当右键项目"生成"的时候会在binDebug文件下生成.exe.config和.vshost.exe.config文件,后两个文件的内容都是从.config复制而来的

      上述说的修改配置文件,其实指的是修改.exe.config文件,而不是.config文件。

      在程序运行中,.vshost.exe.config和.config两个文件可以不要,但是.exe.config必须要,因为程序读写的都是这个文件。

    五、配置文件中的连接字符串connectionStrings

     1 <?xml version="1.0" encoding="utf-8" ?>
     2 <configuration>
     3     <startup> 
     4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
     5     </startup>
     6     
     7   <connectionStrings>
     8     <!--第一种数据库连接字符串-->
     9     <add name="名称1" connectionString="Data Source=服务器名;Initial Catalog=数据库名;User ID=用户;Password=密码" providerName="System.Data.SqlClient" />
    10     <!--第二种数据库连接字符串-->
    11     <add name="名称2" connectionString="server=服务器名;database=数据库名; Ueer ID=用户;Password=密码" providerName="System.Data.SqlClient" />
    12   </connectionStrings>
    13     
    14   <appSettings>
    15     <add key="MaxNum" value="10000"/>
    16   </appSettings>
    17 </configuration>

      使用connectionStrings的好处:

      第一:可将连接字符串加密,使用MS的一个加密工具即可

      第二:可直接绑定的数据源控件,而不必写代码读出来再赋值给控件

      第三:可方便的更换数据库平台,如更换Oracle数据库,就需要修改providerName

      获取connectionStrings节点中的值:

    string connectStr =  ConfigurationManager.ConnectionStrings["名称"];
  • 相关阅读:
    机器学习中的贝叶斯方法---当后验分布无法计算时如何求得预测模型?
    机器学习中的贝叶斯方法---先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(2)
    机器学习中的贝叶斯方法---先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(1)
    使用最大似然法来求解线性模型(4)-最大化似然函数背后的数学原理
    使用最大似然法来求解线性模型(3)-求解似然函数
    使用最大似然法来求解线性模型(2)-为什么是最大化似然函数?
    使用最大似然法来求解线性模型(1)
    关于CPU的User、Nice、System、Wait、Idle各个参数的解释
    Redhat Linux FTP配置
    基于at91rm9200的i2c分析(DS1307实时时钟芯片)
  • 原文地址:https://www.cnblogs.com/yezongjie/p/CSharpConfigXML.html
Copyright © 2020-2023  润新知