我正在做一个调用网络API的应用程序。我在iPad / iPhone上调用api时遇到任务取消异常。但是响应在模拟器和android设备上都很好。任何人都可以帮助我解决问题。我不能在哪里出错了。 / p>
谢谢。
答案 0 :(得分:0)
尝试使用本机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形式的内置Dependency注入来利用我为您提供的具有本地处理程序的HTTPClient的接口。
如果您不知道如何阅读Here