Restsharp Xamarin iOS不支持RestSharp的超时

时间:2015-12-05 07:15:55

标签: android ios xamarin xamarin.ios restsharp

我在Xamarin 4中使用RestSharp以指定的超时

进行网络调用
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 个答案:

答案 0 :(得分:0)

是的,对于Xamarin iOS,Rest客户端的异步操作似乎存在错误。

相同的代码在Android上完美运行。 我们测试了以下场景 - :使用_client.ExecuteGetTaskAsync启动请求。请求正在进行时,请断开网络连接。在iOS上,await调用不会立即返回。在Android中,它会立即返回。

我尝试在iOS上设置readWriteTimeOut。该设置适用于iOS.But需要检查其副作用。我们需要测试readwriteTimeout是否影响慢速网络上的操作。