Xamarin.iOS:MobileService.InvokeApiAsync跳过

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin.iOS:MobileService.InvokeApiAsync跳过相关的知识,希望对你有一定的参考价值。

我正在使用Xamarin.Forms开发一个应用程序,以尽可能多地重用代码。具体来说,我有一个静态类来管理对我的Azure Web服务器的所有POST / GET请求。除了一个电话之外,所有单个电话都会非常有效 - 这一个:

public async static Task<Models.UserParkPosition> GetUserParkPositionForCurrentUserAsync()
{
    var body = new JArray { App.User.Id };

    var test = await AzureMobileServiceClient.Instance.MobileService.InvokeApiAsync<JArray, Models.UserParkPosition>(ConnectionsAPI, body, HttpMethod.Get, null);
    return test;
}

当用户按下按钮时调用上面的方法 - 特别是这样:

private async Task OnGoingToTheParkClicked(object sender, EventArgs e)
{
    bool success = false;
    var already = await viewModel.AlreadyHavePendingRequestAsync());
    Console.WriteLine("TEST");
    throw new Exception();
}

当调试器点击上面提到的“var test”行时......没有任何反应。代码没有死锁,UI仍然响应,但代码永远不会返回。我从来没有看到“TEST”这个词,甚至没有抛出异常......会发生什么?我的所有其他API都以相同的方式调用,并且正常工作。

其他信息: - 相同的代码适用于UWP和android - GET请求到达Web服务,及时响应(<1秒)

感谢任何可能帮助甚至指出我正确方向的人!

答案

发现问题 - InvokeApiAsync抛出一个异常,它不会从任何调用线程中捕获。它以某种方式消失而不会导致任何错误或设备日志,也不会崩溃。很奇怪,但这就是世界的发展方向。

以上是关于Xamarin.iOS:MobileService.InvokeApiAsync跳过的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?

使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角

Xamarin.iOS 和 RFComm

Xamarin.IOS 和 Signalr 推送通知