使用ConfigurationManager类读写配置文件

使用ConfigurationManager类 读写配置文件app.config,以下为代码:

view plaincopy to clipboard print?
using System;   
using System.Configuration;   
  
static class Program   
    {   
        static void Main()   
        {   
            showConfig();   
            UpdateAppSettings();   
            showConfig();   
  
            Console.ReadKey(true);   
        }   
  
        private static void showConfig()   
        {   
            string  = ConfigurationManager.AppSettings["Directory"];   
            Console.WriteLine("AppSetting配置节 Path key的value为:" + dir + "\n");   
        }   
  
        /// <summary>   
        /// UpdateAppSettings    
        /// </summary>   
        public static void UpdateAppSettings()   
        {   
            // Get the configuration file.    
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);   
            Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");   
            config.AppSettings.Settings["Directory"].Value = "tset";   
  
            // Save the configuration file.    
            config.AppSettings.SectionInformation.ForceSave = true;   
            config.Save(ConfigurationSaveMode.Modified);   
            // Force a reload of the changed section.    
            ConfigurationManager.RefreshSection("appSettings");   
        }   
using System;
using System.Configuration;

static class Program
    {
        static void Main()
        {
            showConfig();
            UpdateAppSettings();
            showConfig();

            Console.ReadKey(true);
        }

        private static void showConfig()
        {
            string  = ConfigurationManager.AppSettings["Directory"];
            Console.WriteLine("AppSetting配置节 Path key的value为:" + dir + "\n");
        }

        /// <summary>
        /// UpdateAppSettings 
        /// </summary>
        public static void UpdateAppSettings()
        {
            // Get the configuration file. 
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");
            config.AppSettings.Settings["Directory"].Value = "tset";

            // Save the configuration file. 
            config.AppSettings.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Modified);
            // Force a reload of the changed section. 
            ConfigurationManager.RefreshSection("appSettings");
        } 

app.config内容:

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
  <appSettings>  
    <add key="Directory" value="C:\Documents and Settings"/>  
  </appSettings>  
</configuration>  
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Directory" value="C:\Documents and Settings"/>
  </appSettings>
</configuration>

代码结果:app.config只能作为初始化的定义,工程生成后运行程序集名称.exe 修改生成后的 程序集名称.exe.Config文件

一开始调试时看到控制结果是想要的结果,但看app.config配置文件内容没变(vs2008 F5调试模式下是修改 程序集名称.vshost.exe.config配置文件)还以为是代码有问题,网上搜,也有人碰过到此现像,原来是自己没有理解到MSDN的说明。(还是有文化差异啊)如:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");

查看config.filePath值,即了解明白了。

4.0的类库: http://msdn.microsoft.com/en-us/library/ms134265(v=VS.100).aspx

注意:此类是.net2.0后新增。

必须要先在工程里添加system.configuration.dll程序集的引用。

(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net->组件名称->下即可找到)

添加引用后可以使用System.Configuration空间下的ConfigurationManager类.

 

引用资源:

Read/Write App.Config File with .NET 2.0

在程序里修改配置文件

C#读写app.config中的数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值