Apollo 配置的值为json格式,.net core 里能获取到吗
0
悬赏园豆:5 [已解决问题] 浏览: 1836次 解决于 2021-04-09 11:17


有没有什么办法能支持直接获取出来之后转成对象

var s = Configuration.GetSection("apollocfg2").Get<ApolloCfg>();看我提问,我就是使用这种方式,当然是获取不到的
@bigsy: 既然配置json格式,namespace必须是json类型,你截图配置它只是一个字符串,获取后你想转化为对象,那么肯定是空了。
第一步:添加namespace json 类型
第二步:AddNamespace() 指明ConfigFileFormat.Json
第三步:Configuration.GetSection("apollocfg2").Get<ApolloCfg>();
@王叫兽:


最后获取还是不行
var minioConfig1 = Configuration.GetSection("MinioConfig").Get<MinioConfig>();
namespace必须是json类型这个是说在apollo里设置为json?还有你上面那张图"T文本"这个怎么可以显示json格式,我这边显示的文本格式

@bigsy: 从你截图上看,你的namespce是properties类型,配置不对。
要求创建Namespace 时候就要选择Json类型,看我的截图


看此图,你应该就明白了
@王叫兽: 可以了,果然是要配置成json格式的,谢了兄弟!
其他回答(1)
0
你可以在创建namespace的时候选择私有的, 格式选择json,配置内容大概是:
添加的时候: builder.addnamespace("my private namespace name",enum.json);
使用: builder.build().get<ConsulDiscoveryOption>("ConsulDiscovery")
伪代码大概就是这样子了
















