繁体   English   中英

当设备在线时,Xamarin.Forms iOS 抛出 NSURLErrorDomain“互联网连接离线”

[英]Xamarin.Forms iOS throwing NSURLErrorDomain "internet connection offline" when device is online

当从 HTTP 管理器调用请求时,应用程序会抛出一个 NSURL 错误,指出 Internet 连接处于脱机状态。

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;
    }
}

预期结果是应用程序应该成功进行调用并返回所需的结果,而不是应用程序提示互联网连接处于离线状态。

有没有其他人看到过这种行为? 如果是这样,您是否能够解决它?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM