我在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的一些错误?
答案 0 :(得分:0)
是的,对于Xamarin iOS,Rest客户端的异步操作似乎存在错误。
相同的代码在Android上完美运行。
我们测试了以下场景 - :使用_client.ExecuteGetTaskAsync
启动请求。请求正在进行时,请断开网络连接。在iOS上,await调用不会立即返回。在Android中,它会立即返回。
我尝试在iOS上设置readWriteTimeOut。该设置适用于iOS.But需要检查其副作用。我们需要测试readwriteTimeout是否影响慢速网络上的操作。