您的位置:首页 > 大数据 > 人工智能

如何用c#读写配置文件(转自:http://blog.csdn.net/lanman/article/details/5287717)

2011-07-26 20:56 633 查看
读配置很简单,可以用ConfigurationManager.AppSettings[key] 来读出,
可是写配置文件时,如果写成这样
ConfigurationManager.AppSettings[key] = "111";
总是提示只读,那么该怎么办呢?


view plainusing System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace BQKJ.Common
{
/// <summary>
/// 对exe.Config文件中的appSettings段进行读写配置操作
/// 注意:调试时,写操作将写在vhost.exe.config文件中
/// </summary>
public class ConfigAppSettings
{
/// <summary>
/// 写入值
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void SetValue(string key, string value)
{
//增加的内容写在appSettings段下 <add key="RegCode" value="0"/>
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
config.AppSettings.Settings.Add(key, value);
}
else
{
config.AppSettings.Settings[key].Value = value;
}
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
}

/// <summary>
/// 读取指定key的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetValue(string key)
{
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
return "";
else
return config.AppSettings.Settings[key].Value;
}

}
}


其实也很简单,用这两个封装过的方法就可以了。
需要注意的是,在IDE调试时,写入的配置文件其实是写在了.vshost.exe.config文件中,所以你在.exe.config中是看不到的。只有直接运行exe文件时,才会正确写入到.exe.config中。
分享到: 上一篇:SQL日期格式化应用大全
下一篇:Web服务配置错误: allowDefinition='MachineToApplication' 错误和 客户端发现响应内容类型为“text/html; charset=utf-8”...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: