.net - 如何在 web.config 文件中存储字典对象?

标签 .net asp.net dictionary web-config

我想在我的 Web 配置文件中存储一个简单的键/值字符串字典。 Visual Studio 可以轻松存储字符串集合(请参阅下面的示例),但我不确定如何使用字典集合来实现这一点。

        <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <string>value1</string>
          <string>value2</string>
          <string>value2</string>
        </ArrayOfString>

最佳答案

为什么要重新发明轮子? AppSettings部分的设计正是为了在配置文件中存储类似字典的数据。

如果您不想在 AppSettings 部分中放置太多数据,您可以将相关值分组到各自的部分中,如下所示:

<configuration>
  <configSections>
    <section 
      name="MyDictionary" 
      type="System.Configuration.NameValueFileSectionHandler,System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

  <MyDictionary>
     <add key="name1" value="value1" />
     <add key="name2" value="value2" />
     <add key="name3" value="value3" />
     <add key="name4" value="value4" />
  </MyDictionary>
</configuration>

您可以使用以下方式访问此集合中的元素

using System.Collections.Specialized;
using System.Configuration;

public string GetName1()
{
    NameValueCollection section =
        (NameValueCollection)ConfigurationManager.GetSection("MyDictionary");
    return section["name1"];
}

关于.net - 如何在 web.config 文件中存储字典对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338242/

相关文章:

c# - 深度克隆的单元测试

c# - 在 WebBrowser 控件中调试 HTML

c# - asp.net 中 gridview 上的数据量非常大

java - 为 map 中的每个元素流口水

c# - 在 .net (c#) 中检查重新分析点的最佳方法是什么?

c# - 如何从Windows服务确定当前的Windows用户?

asp.net - Visual Studio - 发布错误 : "the url http://0 is invalid"

c# - 质量更好的缩略图

ios - 在自定义单元格上显示字典中的数据时出现异常

c# - Unity, C#, Dictionary, 计算一场比赛的球队得分