Blazor Server httprequest Timeout Maximum - это исправление 30 секунд ⇐ C#

Место общения программистов C#
Anonymous
Blazor Server httprequest Timeout Maximum - это исправление 30 секунд

Сообщение Anonymous »

У меня есть приложение Blazor Server C# в .net9, и я использую службу для обработки удаленных вызовов API. Я хотел бы установить тайм -аут для запросов во всем мире таким образом: < /p>

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

var timeoutSec = builder.Configuration.GetValue("Main:ServiceTimeoutSec");

builder.Services.AddHttpClient((serviceProvider, client) =>
{
var config = serviceProvider.GetRequiredService();
var baseAddress = config["Api:ApiBaseAddress"] ?? "MISSING_BASE_ADDRESS";

client.BaseAddress = new Uri(baseAddress);
// HAS NO EFFECT -> client.Timeout = TimeSpan.FromSeconds(timeoutSec);
})
.AddPolicyHandler(Policy.TimeoutAsync(TimeSpan.FromSeconds(timeoutSec))); // API query timeout
Последняя строка устанавливает The Polly Timeout.
Когда я устанавливаю ServiceTimeOutsec в конфигурации менее 30 с , то время Polly работает нормально и отбрасывает TimeOUtrectionedException . Это нормально!

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

The operation didn't complete within the allowed timeout of '00:00:30'.

Почему бы не использовать мой настройка на 60 секунд в этом случае? Конструктор, он показывает по умолчанию 00:01:40.
Я дважды проверяю DI и службу, а также хороший HttpClient в построенном в службе.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... 30-seconds

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