Я пробовал несколько сценариев для обработки тайм-аутов в запросе, но они, похоже, не работают.
Я прошел интервал TimeSpan при создании клиента запроса и / или создании запроса. Запрос не получает ответ в течение настроенного промежутка времени, но задача продолжает выполняться и кажется зависшей, и исключение RequestTimeoutException не генерируется.
Какое точное решение для обработки тайм-аута клиента.
РЕДАКТИРОВАТЬ
Вариант использования, приводящий к тайм-ауту, - это когда весь потребительский сервис не работает поэтому первоначальный запрос вообще не расходуется. Следующий пример кода запроса. Как уже упоминалось, я пытался передать RequestTimeout также при создании клиента. Кроме этого, он отлично работает, когда все части работают.
var client = _busControl.CreateRequestClient<CheckRequest>(new Uri($"{rabbitHostUri}/CheckQueue"));
var response = await client.GetResponse<CheckResponse>(checkRequest, timeout: RequestTimeout.After(s: 60)).ConfigureAwait(false);
var checkResponse = response.Message;