Конфигурация приложения 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?.

Другие вопросы по тегам