Closed hellosnowy closed 2 months ago
hi, 你要用 appsettings.json 的配置覆盖 agileconfig 的其实只要拿到 IConfigurationBuilder 调用 .AddJsonFile() 把 appsetting.json 再次加进去就好了,因为最后一个会覆盖前面的。 4个环境变量那个是可以改的,自己去数据库里setting表改一下就好了。
感谢回复。 调用.AddJsonFile()需要修改源码才能实现,我想采用一种无侵入的解决方案,通过修改配置就能实现。也就是优先级的问题
这总是要改代码的。 最简单的就是这样:
builder.Host.UseAgileConfig();
builder.Host.ConfigureHostConfiguration(b =>
{
b.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
});
紧接着UseAgileConfig后面加上这个,更多的控制代码得根据你自己的业务来实现。
这些代码放到 AgileConfig 里就不太合适。因为 AgileConfig 只是一个 configuration provider。它跟 JsonFile Configuration Provider 其实是同级的东西。真正管理配置的在 asp.net core 里面是 configurationmanager 。
好的,感谢!
有两个客户端项目的建议 1、现在私有应用的配置项可以覆盖公共应用的配置项,能否增加本地appsettings的配置也能覆盖配置中心的配置?
2、在已经使用builder.Host.UseAgileConfig();的前提下,如果配置文件没有AgileConfig节点,能否优先走微软appsettings.json中配置
以上2个建议都是为了多人联合开发基于AgileConfig的微服务项目,但服务端4个环境远远不够支撑的情况下便于开发调试