Конфигурация приложения Azure - отключить обновление - SetCacheExpiration
Я использую конфигурацию приложения Azure для загрузки конфигурации в свои функции Azure. https://docs.microsoft.com/en-us/dotnet/api/overview/azure/data.appconfiguration-readme?view=azure-dotnet-preview
Я использую free
план, и я столкнулся с проблемой дросселирования запросов из-за истечения срока действия кеша по умолчанию 30 секунд. [по крайней мере, я так считаю]
Чтобы предотвратить это, я использовал SetCacheExpiration
следующим образом,
builder.AddAzureAppConfiguration(options =>
{
options.Connect(this.Values.AppConfigConnectionString)
.ConfigureRefresh(refresh =>
{
// default is 30 seconds
refresh.SetCacheExpiration(TimeSpan.FromDays(10));
});
options.Select(keyFilter: KeyFilter.Any, labelFilter: this.Values.Env);
});
Мне не нужно обновлять эту пару "ключ-значение", потому что она не будет часто меняться. Итак, мой вопрос: можно ли отключить истечение срока действия кеша?
Если да, то как? Если нет, каким должно быть обходное решение?
ТИА, Киран.
2 ответа
Пока вы нигде не вызываете RefreshAsync, это не имеет значения. Если вы не вызываете RefreshAsync, то должна быть другая причина, по которой был достигнут предел. Я предполагаю, что создается несколько построителей конфигурации.
Вы можете попробовать использовать Infinite Timespan
:
public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, Timeout.Infinite);
Взято из этого вопроса Timeout.InfiniteTimespan в.Net 4.0?.