[dotNET]如何利用ConfigurationSettings.AppSettings.GetValues读取配置文件中多个同Key的value

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

编写者:郑昀@Ultrapower

默认情况下,

string[] strArray = System.Configuration.ConfigurationSettings.AppSettings.GetValues("Uri");

是无法读取配置文件中多个同Key的value的。如下所示的配置:

<appSettings>

<add key="Uri" value="uri1"/>

<add key="Uri" value="uri2"/>

<add key="Uri" value="uri3"/>

</appSettings>

用MSDN告诉我们的GetValues是读不到的,只能读到最后一个value。

http://www.codeproject.com/dotnet/namevaluemultiple.asp告诉我们,

只有这么做才可以:

第一步:

单独建立一个类库MultipleSectionHandler,把NameValueMultipleSectionHandler.cs加进去,并将MultipleSectionHandler.csproj加入到我们的工程中;

第二步:

编译MultipleSectionHandler,生成MultipleSectionHandler.dll;

第三步:

将WebApp应用的Web.config文件中加入

<configSections>

<remove name="appSettings" />

<section name="appSettings" type="MyCompany.Configuration.NameValueMultipleSectionHandler, MultipleSectionHandler" />

</configSections>

表明对于appSettings的读取将采用我们自己的MultipleSectionHandler处理。

第四步:

这时候就可以针对Web.config中的:

<appSettings>

<add key="Uri" value="uri1"/>

<add key="Uri" value="uri2"/>

<add key="Uri" value="uri3"/>

</appSettings>

通过

string[] strArray = System.Configuration.ConfigurationSettings.AppSettings.GetValues("Uri");

来读取了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航