You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

appconfig.json文件创建与Servers配置节点读取实现方法

配置结构校验结论
  • 逻辑结构设计合规:以Servers作为数组节点存储多台服务器信息,每个服务器条目挂载Name、Type属性的设计完全满足配置分层、扩展的要求,没有结构问题。
  • 语法层面存在错误:你给出的片段不符合JSON配置的语法规范,根节点缺少对象包裹的大括号,无法被配置解析器正常识别。完整合法的配置内容如下:
{
  "Servers": [
    {
      "Name": ".",
      "Type": "A"
    },
    {
      "Name": "Fred",
      "Type": "B"
    }
  ]
}
配置读取实现方法

首先提前定义和配置结构匹配的实体类:

public class Server
{
    public string Name { get; set; }
    public string Type { get; set; }
}

推荐方式:强类型直接绑定

不需要手动遍历节点,直接用配置绑定能力一次性拿到完整列表,代码最简洁,出错概率最低:

// 需确保项目已安装 Microsoft.Extensions.Configuration.Binder 包
List<Server> Servers = Configuration.GetSection("Servers").Get<List<Server>>();

手动遍历节点的修正写法

如果你需要逐节点处理逻辑,可以修正你之前写的遍历逻辑,GetValue方法第一个泛型参数指定返回值类型,入参传入节点键名即可:

List<Server> Servers = new List<Server>();
var serverNodes = Configuration.GetSection("Servers").GetChildren();
foreach (var node in serverNodes)
{
    Server server = new Server()
    {
        Name = node.GetValue<string>("Name"),
        Type = node.GetValue<string>("Type")
    };
    Servers.Add(server);
}

注意:如果读取时返回空值,先检查配置文件的属性是否设置为「如果较新则复制」到输出目录,避免程序运行时找不到配置文件。

内容的提问来源于stack exchange,提问作者tractor boy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:15:19