当我尝试使用以PCL编写的代码从webservice获取或发布一个Json字符串时,这是一个RestFul API:
<c:if test="${status == member.status}" > <html:option ...>
^
Here
此代码在 Android 上正常工作,当互联网断开连接时会立即引发异常,但如果 iOS 异常,则会在指定的90s超时值之后抛出异常而不是立即投掷。
我对以下链接进行了裁判,但没有帮助:
https://bugzilla.xamarin.com/show_bug.cgi?id=51423
HttpClient PostAsync does not respond when internet is disconnected
我还将HttpClient实现从xamarin.ios项目的托管(默认)更改为 NSUrlSession ,但仍然没有变化。
我还将上面的代码实现更改为:
try
{
CookieContainer cookies = new CookieContainer();
cookies.SetCookies(uri, strCookie);
HttpClientHandler handler = new HttpClientHandler();
handler.CookieContainer = cookies;
HttpClient client = new HttpClient(handler);
client.Timeout = new TimeSpan(0, 0, 90);
var response = await client.GetAsync(uri);
res = await response.Content.ReadAsStringAsync();
return res;
}
catch (Exception ex)
{
throw ex;
}
但没有解决我的问题。