Xamarin.forms Xamain.Forms中api调用的任务取消异常仅适用于iOS real设备

Xamarin.forms Xamain.Forms中api调用的任务取消异常仅适用于iOS real设备,xamarin.forms,xamarin.ios,Xamarin.forms,Xamarin.ios,我正在做一个应用程序,我在其中调用一个web api。我在iPad/iPhone中调用api时遇到“任务取消”异常。但在模拟器和android设备中响应良好。有人能帮我解决问题吗?我无法确定哪里出了问题 提前感谢。尝试使用本机Http处理程序,看看它是否有所改进 声明一个接口 public interface IHttpHandler { HttpClient ReturnHandler(); } Implement it this way. public

我正在做一个应用程序,我在其中调用一个web api。我在iPad/iPhone中调用api时遇到“任务取消”异常。但在模拟器和android设备中响应良好。有人能帮我解决问题吗?我无法确定哪里出了问题


提前感谢。

尝试使用本机Http处理程序,看看它是否有所改进

声明一个接口

  public interface IHttpHandler
    {
        HttpClient ReturnHandler();
    }

Implement it this way.
public class HttpHandler : IHttpHandler
    {
        public HttpClient ReturnHandler()
        {
            try
            {
                var client = new HttpClient(new NSUrlSessionHandler()
                {
                });
                client.Timeout = TimeSpan.FromSeconds(120);
                return client;
            }
            catch (TaskCanceledException ex)
            {
                Console.WriteLine("TaskCanceledException ReturnHandler-->" + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("TaskCanceledException ReturnHandler-->" + ex.InnerException.Message);
                }
                return null;
            }
            catch (Exception ex)
            {
                Console.WriteLine("ReturnHandler Exception-->" + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("ReturnHandler Exception-->" + ex.InnerException.Message);
                }
                return null;
            }
        }
    }
使用Xamarin表单内置依赖项注入来利用我为您提供的接口,使HTTPClient具有本机处理程序


如果您不知道如何阅读

请确保您连接到两个系统中的同一网络,模拟器使用MAC网络,而手机使用自己的网络。感谢saket的回复。所有网络都是相同的。但我无法仅在iPad和iPhone上获得响应。你能给我建议任何解决方案吗?做一件事,在创建HTTPClient时不要使用默认处理程序,使用本机处理程序,即NSURLSessionHandler谢谢Saketh。我是Xamairn.iOS新手。如果可能,你能给我发送相同的代码吗。嗨Saketh。与此问题相关的更新。我添加了httpClient.tmout 5分钟,4分钟后得到了响应。但在安卓系统中,我在api调用5秒后得到响应。请帮助我解决这个问题。谢谢