c# - 在自定义部分中获取同一键的多个实例

标签 c# app-config configurationmanager configsection

在我的 app.config 文件中,我在 configuration 下有一个自定义部分具有共享相同 key 的多个条目。

<setion1>
    <add key="key1" value="value1"/>
    <add key="key2" value="value2"/>
    <add key="key1" value="value3"/>
</section1>

我正在使用以下代码获取 NameValueCollection反对阅读条目。

var list = (NameValueCollection)ConfigurationManager.GetSection("section1");

我希望此代码返回该部分下的每个条目,但它似乎只返回与键相关的唯一值。我怎样才能收集 <section1> 的所有 child ?不考虑 key ?

最佳答案

根据定义,键必须是唯一的。

“我必须在 app.config 中存储邮件收件人。每个部分都有自己的 MailTo 和 CC 条目列表,部分名称指示将邮件发送到哪个组。”

那么你就没有一堆 key /邮件对了。

你有一堆 key/mail[] 对。

对于每个键,您都有一个值的集合。所以你使用了一个值的集合。至极的答案是这样的:https://stackoverflow.com/a/1779453/3346583

当然,在那种情况下,可扩展性可能是个问题。但是,如果您需要可扩展性,那么无论如何您应该将其解决为数据库/XML 文件/其他数据结构中的 1:N 关系。而不是 app.onfig 条目。

关于c# - 在自定义部分中获取同一键的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947538/

相关文章:

c# - ConfigurationManager.AppSettings[Key] 是否每次都从 web.config 文件中读取?

c# - 索引和计数必须引用缓冲区内的位置。参数名称 : bytes

c# - 实时磁贴更新的最佳选择

c# - 将图像转换为字节数组的最快方法

msbuild - XmlMassUpdate - 替换值节点

.net - 如何在生产中配置 WCF 客户端?

c# - 有时我的 listBox1 或我在里面更新的值会闪烁一秒或更短时间,我该如何解决?

.NET 如何为 app.config 生成架构?

c# - VS 项目设置正在构建一个没有 <appSettings> 或 <add> 元素的 .config 文件

asp.net - Azure 应用服务应用程序设置无法通过 ConfigurationManager 获得