如何使用 Steeltoe 扩展将多个配置文件从 Spring 配置服务获取到 dotnetcore 应用程序中?



如何从 spring 配置服务器获取多个配置文件?

我有使用 Steeltoe.Extensions.ConfigServerCore.2.2.0 的 c# dotnetcore 3.1 应用程序

我能够获得与 spring 应用程序名称匹配的配置。 即,如果我的应用程序名称是"我的服务",那么我可以使用以下命令获得"my-service.properties"和"application.properties"

var configBuilder = new ConfigurationBuilder()
...
.AddConfigServer();
var config = configBuilder.Build();

如果 spring 应用程序名称与配置服务器中的文件名匹配,则此方法有效。

我尝试了什么

configBuilder.AddConfigServer("external");
var config = configBuilder.Build();

具有不同的环境变体。但我从来没有得到额外的配置。 我做错了什么?

Steeltoe在很大程度上依赖于Config Server的逻辑,通过指定应用程序名称,环境名称和其他标签来查找备份文件。由于 .NET 配置平展到字典中的方式,您稍后不会在应用程序中看到这种情况,但如果缺少您希望看到的配置值,则可能是由于文件名与预期的约定不匹配。

使用AddConfigServer("external")将导致对"my-service-external.properties"的请求。由于约定中使用破折号将应用名称与环境(或配置文件(名称分开,因此你可能不希望在应用名称中使用它。

此外,自 2.2.0 以来,Steeltoe 已经发布了一些版本,我建议使用最新的 GA 版本(目前为 2.4.3(

最新更新