微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure Feature Manager Feature Toggle 在运行时评估使用标签

如何解决Azure Feature Manager Feature Toggle 在运行时评估使用标签

在 Azure 功能管理器中使用功能切换提供了在创建功能时配置标签的选项,在 .NET 中使用该标签我能找到的唯一选项是在配置 Azure 应用程序配置时在启动期间设置标签,这可以是这样做:

 config.AddAzureAppConfiguration(
                        options =>
                        {
                            options.Connect(settings.GetConnectionString("Config"))
                                .UseFeatureFlags(o =>
                                {
                                    o.Label = "Test";
                                    o.CacheExpirationInterval = TimeSpan.FromSeconds(1);
                                });
                        },

这种方法的问题是在运行时我们无法更改标签,因为它是在启动期间预先配置的。 问题是我们如何管理不同的标签,假设我有 100 个标签,我希望我的应用程序根据其标签评估功能切换,但我无法找到实现这一目标的方法。 为了评估功能切换,我们像这样调用功能管理器 await _featureManager.IsEnabledAsync(setting);

解决方法

我会说你不能,这不是一件坏事。标签在那里,因此您可以将一个特征标志保存两次,可能使用不同的值和过滤器。例如:

  • MyFlag(标签:测试)真
  • MyFlag(标签:生产)false

  • MyFlag(标签:美国)真
  • MyFlag(标签:asia)错误

因此,您应该使用标签为不同阶段或不同区域或您可能拥有的任何其他用例保存一个特征的不同值。您不应该在正在运行的应用程序中在标签之间切换。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?