xamarin.forms - 仅适用于 iOS 真实设备的 Xamain.Forms 中 api 调用的任务取消异常
问题描述
我正在做一个应用程序,我在其中调用 web api。当我在 iPad/iPhone 中调用 api 时,我收到任务取消异常。但在模拟器和 android 设备中的响应很好。任何人都可以帮我解决这个问题。我无法确定哪里出错了。
提前致谢。
解决方案
尝试使用 Native Http Handler 来查看它的改进。
声明一个接口。
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 与本机处理程序。
如果您不知道如何阅读这里
推荐阅读
- django - Django 3x 内置 url 模板标签 // 通过名称模式动态 url
- typescript - 如何解决angular6中的分页和过滤选项问题
- windows - windows os中oracle数据库中表空间已满时如何配置电子邮件警报
- java - 如何在 tomcat 9 中使用客户端证书?
- powershell - 通过 Intune 使用 PScript 删除-VpnConnection
- wordpress - 如何将自定义字段(状态)添加到 WooCommerce 订单中的产品
- github - 对 GitHub 的 GraphQL 查询因 HTTP 422 无法处理的实体而失败
- rxjs - 我可以在 rxjs 的同一个计时器上运行 map 和 conatMap 管道吗?
- c++ - 为什么未初始化的指针可以访问类成员?
- charts - Spotfire:x 轴上的空值