Xamarin.forms Xamain.Forms中api调用的任务取消异常仅适用于iOS real设备
我正在做一个应用程序,我在其中调用一个web api。我在iPad/iPhone中调用api时遇到“任务取消”异常。但在模拟器和android设备中响应良好。有人能帮我解决问题吗?我无法确定哪里出了问题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
提前感谢。尝试使用本机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秒后得到响应。请帮助我解决这个问题。谢谢