为了账号安全,请及时绑定邮箱和手机立即绑定

当设备在线时,Xamarin.Forms iOS 抛出 NSURLErrorDomain

当设备在线时,Xamarin.Forms iOS 抛出 NSURLErrorDomain

C#
波斯汪 2023-09-09 16:28:53
当从 HTTP 管理器调用请求时,应用程序会抛出 NSURL 错误,表明互联网连接已离线。Foundation.NSErrorException: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline."这种情况仅有时发生,每次发生时设备都可以访问互联网。在尝试调试解决方案时,似乎其余服务调用client.GetAsync没有返回响应。public async Task<T> callGetAsync<T>(string path) {    using(var client = new HttpClient()) {        var result = default(T);        client.BaseAddress = new Uri(url);        client.DefaultRequestHeaders.Accept.Clear();        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));        if (App.User.Context != null)        {            client.DefaultRequestHeaders.Authorization =            new AuthenticationHeaderValue("Bearer", App.User.Context.AccessToken);        }        HttpResponseMessage response = await client.GetAsync(path);        if(response.IsSuccessStatusCode) {            string json = await response.Content.ReadAsStringAsync();            result = JsonConvert.DeserializeObject<T>(json);        }        else {            Console.WriteLine("Error");            Analytics.TrackEvent($"API Failure: {path}");        }        return result;    }}预期结果是应用程序应成功拨打电话并返回所需结果,而不是应用程序建议互联网连接已离线。还有其他人看到过这种行为吗?如果是这样,你能解决它吗?
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

据报道,这是 Visual Studio Preview 版本的问题。降级回最新的稳定版本目前已经解决了该问题。

https://github.com/xamarin/xamarin-macios/issues/6762#issuecomment-524016733


查看完整回答
反对 回复 2023-09-09
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

我发现这一点,而 Visual Studio 2019 早已不再预览了。在不同的地方查找此错误。我读到“检查您正在使用的 URL 并确保其正确”,并认为当然是正确的。我错了。所以这是一个友好的提醒。检查一下你的骄傲和网址:)别担心我犯了同样的错误。



查看完整回答
反对 回复 2023-09-09
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信