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

简介:

编写者:郑昀@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。
 
只有这么做才可以:
第一步:
单独建立一个类库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");
来读取了
目录
相关文章
|
5月前
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
87 0
PM2 配置文件(ecosystem.config.js 字段详细介绍)
PM2 配置文件(ecosystem.config.js 字段详细介绍)
671 0
|
5月前
|
Web App开发 缓存 前端开发
VUE-CLI可选的配置文件vue.config.js
VUE-CLI可选的配置文件vue.config.js
71 0
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
294 0
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
|
2月前
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
45 0
|
10天前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
22 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
4月前
|
XML 开发框架 .NET
【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记
【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记
133 1
bad boolean config value ‘****‘ for ‘http.sslverify‘
bad boolean config value ‘****‘ for ‘http.sslverify‘
|
5月前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
65 1
|
5月前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)