读书人

如果读取app.config的内容,该如何处理

发布时间: 2012-01-26 19:40:46 作者: rapoo

如果读取app.config的内容

读取代码如下
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
ConfigurationSection cs = config.GetSection( "applicationSettings ");

结果cs 返回null,
但是用config.GetSection( "connectionStrings ");却可以


app.config的内容如下
<?xml version= "1.0 " encoding= "utf-8 " ?>
<configuration>
<configSections>
<sectionGroup name= "applicationSettings " type= "System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 " >
<section name= "Test_ado.Properties.Settings " type= "System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 " requirePermission= "false " />
</sectionGroup>
</configSections>
<connectionStrings>
<add name= "northwindbysql " connectionString= "Data Source=lisong;Initial Catalog=Northwind;User ID=sa "
providerName= "System.Data.SqlClient " />
<add name= "northwindbywindow " connectionString= "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True "
providerName= "System.Data.SqlClient " />
<add name= "Test_ado.Properties.Settings.mydbstring " connectionString= "Data Source=lisong;Initial Catalog=Northwind;User ID=sa "
providerName= "System.Data.SqlClient " />
</connectionStrings>
<applicationSettings>
<Test_ado.Properties.Settings>
<setting name= "myDB " serializeAs= "String ">
<value> northwind </value>
</setting>
</Test_ado.Properties.Settings>
</applicationSettings>


</configuration>

[解决办法]
applicationSettings没有值可以取,你是不是要取里边的myDB?

Configuration config = WebConfigurationManager.OpenWebConfiguration( "/ ", "localhost ");
string value = config.AppSettings.Settings[ "myDB "].value;
[解决办法]
<applicationSettings>
<Test_ado.Properties.Settings>
<setting name= "myDB " serializeAs= "String ">
<value> northwind </value>
</setting>
</Test_ado.Properties.Settings>
</applicationSettings>
这个是不符合app.config内容的规范的
不能使用Configuration 或者 ConfigurationManager类来操作.
楼主要取的话 只能用读取 xml节点的方式
[解决办法]
config.AppSettings.Settings[标示].value
[解决办法]
直接改成
<appSettings>
<add key= "myDB " value= "northwind " />
</appSettings>

System.Configuration.ConfigurationManager.AppSettings[ "myDB "];

读书人网 >C#

热点推荐