我正在使用Azure应用程序配置将配置加载到我的Azure函数中。https://learn.microsoft.com/en-us/dotnet/api/overview/azure/data.appconfiguration-readme?view=azure-dotnet预览
我使用的是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);
});
我不需要刷新这个键值,因为它不会经常更改。所以我的问题是,有可能禁用这个缓存过期吗?
如果是,如何?如果没有,解决方法是什么?
TIA,基兰。
只要您没有在任何地方调用RefreshAsync,这应该无关紧要。如果您没有调用RefreshAsync,那么达到限制的原因一定是其他原因。我的猜测是正在构建多个配置生成器。
您可以尝试使用Infinite Timespan
:
public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, Timeout.Infinite);
摘自这个问题在.Net 4.0中超时.InfiniteTimespan?。