应用配置刷新时回调

问题描述 投票:0回答:2

假设我有这个代码:

appConfigOptions.ConfigureRefresh(refresh =>
{
   refresh.Register("Sentinel", "Common", refreshAll: true)
      .SetCacheExpiration(TimeSpan.FromMinutes(5));
});

当 Sentinel key 发生变化时,是否也可以调用回调/Action,以便我们可以将更新的配置重新绑定到类中?

基本上我想再次调用此启动代码的最后一行来刷新

MyAppSettingsClass

var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AppConfiguration(configuration);
builder.Services.Configure<MyAppSettingsClass>(configuration);
c# .net .net-core configuration azure-app-configuration
2个回答
0
投票

它应该自动工作,无需您执行任何特殊操作。查看 Azure 应用程序配置 GitHub 存储库中的示例:

https://github.com/Azure/AppConfiguration/blob/main/examples/DotNetCore/WebDemoNet6/WebDemoNet6/Program.cs#L31


0
投票

如前所述,

中间件自动刷新配置。

访问动态配置需要

IOptionsMonitor<MyOptions>
,否则它只是启动期间可用值的快照。

示例:

public class MyClass(IOptionsMonitor<MyOptions> options)
{
    public void MyFunction()
    {
        if(options.CurrentValue.MyFlag)
            DoStuff();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.