Переопределить 10S Traptimeout в стандартном обработчике устойчивостиC#

Место общения программистов C#
Anonymous
 Переопределить 10S Traptimeout в стандартном обработчике устойчивости

Сообщение Anonymous »

У меня есть приложение Blazor Webassembly с использованием entra auth, которое вызывает бэкэнд с использованием именованной Httpclient Factory: < /p>

Код: Выделить всё

services.AddHttpClient(HttpClientProvider.WebAPI,
client => client.BaseAddress = new Uri(baseAddress))
.AddHttpMessageHandler()
.AddStandardResilienceHandler(o => {
o.AttemptTimeout.Timeout = TimeSpan.FromSeconds(30);
o.CircuitBreaker.SamplingDuration = TimeSpan.FromSeconds(100);
})
;
Но я получаю следующие предупреждения, а иногда и ошибки тайм -аута даже после того, как я
Warn: Polly [3]
Попытка выполнения. Источник: '-standard // Standard-Retry', операционная ключ: '', результат: «Операция не завершена в пределах допустимого тайм-аута
’00: 00: 10». ', Попытка:' 2 ',
Время выполнения: 10069,4 мс Polly.timeout.timeoutrejectedException: операция
не завершена в допустимое время ожидания '00: 00: 10'. < /P>
< /blockquote>
между ними, есть экземпляр Yarp, но у этого есть более высокие тайм -ауты. Предупреждения/ошибки от клиента.
[update]
Я изменил код на основе предложений, без изменений в результате.
services.AddHttpClient(HttpClientProvider.WebAPI,
client => {
client.BaseAddress = new Uri(baseAddress);
client.Timeout = TimeSpan.FromSeconds(30);
})
.AddHttpMessageHandler()
.AddStandardResilienceHandler(o => {
o.AttemptTimeout.Timeout = TimeSpan.FromSeconds(30);
o.CircuitBreaker.SamplingDuration = TimeSpan.FromSeconds(100);
})
;
< /code>
[update2] < /p>
Это странно: после получения параметров с помощью: < /p>
var serviceProvider = services.BuildServiceProvider();
var monitor = serviceProvider.GetRequiredService();
var options = monitor.Get($"{HttpClientProvider.WebAPI}-standard");
< /code>
Я получаю 30 секунд. Тем не менее, сообщение, которое я получаю, начинается с «-стандарта», которое при получении имеет 10 с. >
, который не должен возвращать последнее, а первое. Чего мне не хватает? Как я и ожидал: https://www.milanjovanovic.tech/blog/ov ... -in-dotnet
пока я остаюсь просто с Вместо этого переопределяет по умолчанию.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ce-handler

Вернуться в «C#»