为什么部署在 AKS 上的 ASP.NET 6 Web 应用程序中的动态配置在一段时间后停止工作?

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

我在 AKS 上部署了 .NET 6 Web Api,并且我正在尝试使用动态配置从 Azure 应用程序配置重新加载设置,而无需重新启动 Pod。

部署 Pod 后,我的应用程序会拾取对 Azure 应用程序配置 上的设置所做的更改(部署 Pod 后不久)。但是,如果我第二天来,假设我更新了 Azure 应用程序配置上的设置,那么 Web Api 不会拾取此。 功能标志更新也会发生同样的情况。

代码和设置:

Azure 应用程序配置

程序.cs

builder.Host.ConfigureAppConfiguration(config => { config.AddAzureAppConfiguration(option => option.Connect(appConfigConnString) .ConfigureRefresh(refreshOptions => { refreshOptions.Register("AppSettings:TestReloadTesting", refreshAll: true); refreshOptions.SetCacheExpiration(TimeSpan.FromSeconds(5)); }) .ConfigureKeyVault(kv => kv.SetCredential(new DefaultAzureCredential(defaultAzureCredentialOptions))) .UseFeatureFlags(options => { options.Label = "Feature-flag-label"; options.CacheExpirationInterval = TimeSpan.FromSeconds(5); }) ); }); builder.Services.AddAzureAppConfiguration(); builder.Services.AddFeatureManagement(builder.Configuration.GetSection("FeatureManagement")); ........... var app = builder.Build(); app.UseAzureAppConfiguration(); app.UseFeatureAvailability(); ...........

读取配置设置和功能标志的控制器操作

[HttpGet("TestAppSetting")] public ActionResult<Result> GetTestAppSettingReload() { var result = _appsettings.TestReloadTesting; return new Result{ TestReloadTesting = result }; } [HttpGet("TestFeature")] public async Task<ActionResult<string>> GetTestFearureFlag() { var result = await _featureManager.IsEnabledAsync("feature-name"); return Ok(result); }

我没有收到任何错误,我查看了文档,但没有找到任何与之相关的内容。

.net dynamic azure-aks azure-app-configuration
1个回答
0
投票

builder.Configuration.AddAzureAppConfiguration(option => option.Connect(connectionString) .ConfigureRefresh(refreshOptions => { refreshOptions.Register("TestApp:Settings", refreshAll: true); refreshOptions.SetCacheExpiration(TimeSpan.FromSeconds(5)); }) .UseFeatureFlags(options => { options.Label = "Feature-flag-label"; options.CacheExpirationInterval = TimeSpan.FromSeconds(5); }));

© www.soinside.com 2019 - 2024. All rights reserved.