您的位置:首页 > 移动开发

将所有程序设置XML集中到一个单独XML配置文件的方法:使用appSettings元素的configSource元素

2014-03-14 14:25 691 查看
在.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_Data\appSettings.config文件,在里面定义appSettings元素,这样是不行的,C#代码是访问不到的。

那应该怎么操作的?

刚找到了解决方法:

1.在web.config下的根节点<configuration>加一句:

<appSettings configSource="App_Data\appSettings.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文件属性进行设置:复制到输出目录----始终复制

如图:



一般网站不许这样设置,如果是控制台程序就得这么设置.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐