Restsharp Xamarin iOS не соблюдает тайм-аут для RestSharp

Я использую RestSharp в Xamarin 4, чтобы сделать сетевой вызов с указанным таймаутом

var request = new RestRequest(url, Method.GET) { Timeout = 5000 };
var response = await _client.ExecuteGetTaskAsync(request);
return response;

Это работает, как и ожидалось в Android. Время ожидания составляет 5 секунд в случае отсутствия ответа. Тем не менее, на iOS, время ожидания вызова не удается. Это занимает ок. 60-75 секунд, чтобы истекло время ожидания.

Что-то мне не хватает или какая-то ошибка с Xamarin или restsharp?

1 ответ

Да, похоже, есть ошибка для асинхронных операций с клиентами Rest Для Xamarin iOS.

Тот же код отлично работает на Android . Мы протестировали следующий сценарий -: Запустить запрос с _client.ExecuteGetTaskAsync, Когда запрос выполняется, отключите сеть. В iOS ожидающий вызов не возвращается немедленно. В Android он возвращается немедленно.

Я попытался установить readWriteTimeOut на iOS. И этот параметр работал на iOS. Но нужно проверить его побочные эффекты. Нам нужно проверить, влияет ли readwriteTimeout на работу в медленной сети.

Другие вопросы по тегам