0

如果您使用 IOptions 模式,即类型化设置方法,那么您应该如何在应用程序配置 (AC) 中为参数设置动态名称约定?.. 假设我们有 3 个环境测试、阶段和产品,在 AC 中我们希望将参数命名约定为:

<environment>:<application name>:<param name>

这是否可能实现,因为当我进行测试时,似乎有一些基于“幕后”映射的 IOptions-entity-name 和 appsettings-json-structure 或者我可以覆盖此行为以实现基于更动态的参数名称约定将环境参数设置为 (test|stage|prod),服务名称的环境参数和 IOptions-entity/appsettings-files 中用于集中/动态存储的所有参数的更通用的名称约定

谢谢!

4

1 回答 1

0

您计划使用的命名约定将起作用,但是,我建议像下面这样命名配置键,并在 AC 中使用标签作为环境。

<application name>:<param name>

例如,

钥匙 价值 标签
app1:设置:调试 真的 开发者
app1:设置:调试 真的 阶段
应用程序2:设置:颜色 黄色 测试

然后,您的应用程序可以使用键过滤器和标签过滤器仅加载与其相关的配置(app1 与 app2)以及运行环境(dev/state/test 等)。您可以在https://docs.microsoft.com/en-us/azure/azure-app-configuration/concept-key-value中找到有关此讨论的更多详细信息。

这是一个教程,展示了如何IOptions在 ASP.NET Core 应用程序中使用应用程序配置: https ://docs.microsoft.com/en-us/azure/azure-app-configuration/enable-dynamic-configuration-aspnet-核

于 2021-02-03T08:29:14.293 回答