我想读取 appsettings 文件,但是当一个属性被定义为 IDictionary 时出现问题:值被转换为字符串。
例如我在 appsettings 中定义了:
"Queue":{
"Name": "Test1",
"Durable": true,
"Exclusive": false,
"AutoDelete": false,
"Arguments": {
"x-expires": 10000,
"x-overflow": "drop-head",
}
},
绑定类定义为
public class QueueSettings
{
public string Name { get; set; } = "";
public bool Durable { get; set; } = true;
public bool Exclusive { get; set; } = false;
public bool AutoDelete { get; set; } = false;
public IDictionary<string, object> Arguments{ get; set; }
}
并且绑定完成为
QueueSettings queueSettings = new QueueSettings();
settings.GetSection("Queue").Bind(queueSettings);
在此示例中 queueSettings.Arguments["x-expires"] 是字符串 ("10000"),但我希望它是整数。如何在 Net Core 服务集合中设置 JsonConverter?我知道它不使用 NewtonJson 所以 JsonConverter 属性没有帮助。