在.NET程序中,程序的配置文件默认都会放在程序根目录下的web.config(网站程序)或App.config(控制台等程序),在该配置文件中可以定义若干程序配置信息。
在此以网站程序为例,首先将下面内容写入web.config文件的根节点<configuration>下:
<appSettings> <add key="DataSource" value="xxx"/> <add key="URL" value="yyy"/> </appSettings>
这样,在程序里就可以读取这些配置进行处理:
txtInfo.Text += ConfigurationManager.AppSettings["DataSource"]; //txtInfo是一个ASP.NET页面上的展示TextBox控件
txtInfo.Text += ConfigurationManager.AppSettings["URL"];
现在的问题是,如果程序配置项太多,appSettings元素太长且不便单独配置,想将所有程序设置XML集中到一个单独XML配置文件,
如果直接定义一个App_DataappSettings.config文件,在里面定义appSettings元素,这样是不行的,C#代码是访问不到的。
那应该怎么操作的?
刚找到了解决方法:
1.在web.config下的根节点<configuration>加一句:
<appSettings configSource="App_DataappSettings.config"/>
2.在ASP.NET网站新建目录App_Data及其下的文件appSettings.config,并且右键appSettings.config属性,选择然后可写入:
<?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="DataSource" value="xxx"/> <add key="URL" value="yyy"/> </appSettings>
3.执行测试方法:
txtInfo.Text += ConfigurationManager.AppSettings["DataSource"]; //txtInfo是一个ASP.NET页面上的展示TextBox控件 txtInfo.Text += ConfigurationManager.AppSettings["URL"];
就可以看到结果了。
另外,如果出错提示找不到文件或者找不到节点appSettings,可能是因为没有把appSettings.config文件属性进行设置:复制到输出目录----始终复制
如图:
一般网站不许这样设置,如果是控制台程序就得这么设置.