2015-12-05 1 views
0

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

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

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

Есть ли что-то, что мне не хватает или какая-то ошибка с Xamarin или restsharp?

ответ

0

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

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

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