【问题标题】:Is there any standard way to load array from appSettings.config file in .NET 4.6.1是否有任何标准方法可以从 .NET 4.6.1 中的 appSettings.config 文件加载数组
【发布时间】:2021-08-25 10:31:26
【问题描述】:

我的appSettings.config 文件中有这样的设置

<add key="logFilesLocations" value="[firstfile,secondfile]"/>

是否有任何标准方法可以直接将这些值作为数组读取?

我知道我可以在读取值并拆分字符串以获取数组后使用字符串,但这很难看。

我也试过了

public static List<string> LogFilesLocations => (ConfigurationManager.AppSettings.GetValues("logFilesLocations") ?? Array.Empty<string>()).ToList();

但这实际上并没有返回一个数组。

【问题讨论】:

  • 据我所知没有内置方法,除了之后解析字符串。或者使用具有更多选项的完全不同的格式,例如 XML 或 JSON。

标签: appsettings configurationmanager .net-4.6.1


【解决方案1】:

从这个答案中得到解决方案

https://stackoverflow.com/a/46057375/804517

所以我将appSettings.config 替换为appSettings.json 并将我的设置设置为这样

"logFilesLocations": [
        "C:\\Users\\Desktop\\Logs",
        "C:\\Users\\Desktop\\Logs2"
    ]

并开始读取这样的值

public static List<string> LogFilesLocations => _config.GetSection("logFilesLocations").Get<List<string>>();

按照答案中的建议,我必须添加 Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.BinderMicrosoft.Extensions.Configuration.Json

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2011-01-17
    • 2014-03-15
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多