读写应用程序配置文件app.config

本文介绍如何在.NET中读取和设置配置文件中的信息。详细解释了如何利用.NET内置的工具访问XML格式的配置文件,并提供了代码示例说明如何动态地更新配置项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在.Net中提供了配置文件,让我们可以很方面的处理配置信息,这个配置是XML格式的。而且.Net中已经提供了一些访问这个文件的功能。

1、读取配置信息
下面是一个配置文件的具体内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <appSettings>
  <add key="ConnenctionString" value="*" />
  <add key="TmpPath" value="C:\Temp" />
 </appSettings>
</configuration>

.Net提供了可以直接访问<appSettings>(注意大小写)元素的方法,在这元素中有很多的子元素,这些子元素名称都是“add”,有两个属性分别是“key”和“value”。一般情况下我们可以将自己的配置信息写在这个区域中,通过下面的方式进行访问:

String ConString=System.Configuration.ConfigurationSettings.AppSettings["ConnenctionString"];

在AppSettings后面的是子元素的key属性的值,例如AppSettings["ConnenctionString"],我们就是访问<add key="ConnenctionString" value="*" />这个子元素,它的返回值就是“*”,即value属性的值。

2、设置配置信息
如果配置信息是静态的,我们可以手工配置,要注意格式。如果配置信息是动态的,就需要我们写程序来实现。在.Net中没有写配置文件的功能,我们可以使用操作XML文件的方式来操作配置文件。下面就是一个写配置文件的例子。
privatevoidSaveConfig(stringConnenctionString)
{
XmlDocumentdoc
=newXmlDocument();
//获得配置文件的全路径
stringstrFileName=AppDomain.CurrentDomain.BaseDirectory.ToString()+"Code.exe.config";
doc.Load(strFileName);
//找出名称为“add”的所有元素
XmlNodeListnodes=doc.GetElementsByTagName("add");
for(inti=0;i<nodes.Count;i++)
{
//获得将当前元素的key属性
XmlAttributeatt=nodes[i].Attributes["key"];
//根据元素的第一个属性来判断当前的元素是不是目标元素
if(att.Value=="ConnectionString")
{
//对目标元素中的第二个属性赋值
att=nodes[i].Attributes["value"];
att.Value
=ConnenctionString;
break;
}

}

//保存上面的修改
doc.Save(strFileName);
}

---------------------------------------------------------------------------------------------------------------------------------------
在笨笨鼠的博客上看到这篇文章,主配置文件里的 <add key="ConnenctionString" value="*" />
的值是可以改变,
ConfigurationManager .AppSettings ["ConnenctionString"]="xxxxxxx";
应该就能改变,
如果<appSettings file="app.config" >,引入的话
只会更改主配置文件里,而非外部配置文件app.config里,
起码我一直没有找到,直接更改外部文件的方法,望知道的朋友指点。
-------------------------------------------------------------------------------------
找到了方法了,
Configuration configs = ConfigurationManager.OpenExeConfiguration("app.config");
//邮件设置
configs.AppSettings[MailConfigKey.FromAddr] = shopconfig.FromAddr;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值