Xamarin.ios:HttpClient GetAsync&网络断开时,PostAsync不响应

时间:2017-12-29 14:29:24

标签: c# xamarin xamarin.ios

当我尝试使用以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;
}

但没有解决我的问题。

0 个答案:

没有答案