Pull to refresh
0
0
Send message
Разумеется нет) Пусть в данном примере и можно избавиться от вызова асинхронной инициализации, но действительно существуют случаи когда это необходимо.
Мы в свое время пришли ко второму варианту.
Да, но она кэшируется внутри ConfigurationManager, ссылка есть выше
        public async Task<T> GetConfigurationAsync(CancellationToken cancel)
        {
            DateTimeOffset now = DateTimeOffset.UtcNow;
            if (_currentConfiguration != null && _syncAfter > now)
            {
                return _currentConfiguration;
            }
new JwtBearerPostConfigureOptions().PostConfigure(string.Empty, jwtBearerOptions);
try
{
var config = jwtBearerOptions.ConfigurationManager
.GetConfigurationAsync(new CancellationTokenSource(options?.AuthorityTimeoutInMs ?? 5000).Token)
.GetAwaiter().GetResult();
var providerSigningKeys = config.SigningKeys;
signingKeys.AddRange(providerSigningKeys);
}

На сколько я знаю стандартная реализация по умолчанию кэширует конфигурацию, получая конфигурацию через ConfigurationManager при запросе (в асинхронном стеке) JwtBearerPostConfigureOptions
JwtBearerHandler
ConfigurationManager

Спасибо за статью! В свое время разбирался с Pipelines и в том

единственном посте, который многие перевели и разместили у себя
не хватало информации, чтобы погрузиться в разработку и не словить подводных камней.
Для меня например было неочевидно что при использовании PipeReader после каждого Read обязательно надо вызвать AdvanceTo, даже если пришел буфер нулевой длинны (а такое тоже бывает)
Hands-On Design Patterns with C# and .Net Core, пожалуйста
Мне так тоже в одном, не названном, банке вписали в анкету рандомный почтовый ящик, хотя личная почта у меня есть (даже не спросили). К моему счастью, ящик оказался свободным и я его зарегистрировал. Каково же было мое удивление, когда на этот ящик стали приходить выписки по банковскому счету.

Information

Rating
Does not participate
Location
Россия
Registered
Activity