首页 > 解决方案 > NativeMessageHandler+System.OperationCanceledException:操作被取消

问题描述

我们在 Xamarin iOS 和 Android 中开发了一个应用程序。

我们使用 Azure 服务和 AppCenter 进行崩溃日志报告。

对于 Android,我们收到了大量的以下日志

ModernHttpClient
NativeMessageHandler+<SendAsync>c__async0.MoveNext ()
System.Net.Http
HttpClient+<SendAsyncWorker>d__49.MoveNext ()
Microsoft.WindowsAzure.MobileServices
MobileServiceHttpClient+<SendRequestAsync>d__1d.MoveNext ()
Microsoft.WindowsAzure.MobileServices
MobileServiceHttpClient+<RequestAsync>d__4.MoveNext ()
Microsoft.WindowsAzure.MobileServices
MobileServiceClient+<InternalInvokeApiAsync>d__b.MoveNext ()
Microsoft.WindowsAzure.MobileServices
MobileServiceClient+<InvokeApiAsync>d__6.MoveNext ()

我试图搜索它,但无法找出为什么会被记录,

错误日志信息如下:

NativeMessageHandler+<SendAsync>c__async0.MoveNext ()
System.OperationCanceledException: The operation was canceled.
O

非常感谢任何帮助或想法如何更深入地调试此错误日志。

标签: androidazurexamarinxamarin.androidvisual-studio-app-center

解决方案


MS App Center 为您提供每次崩溃的报告。您可以从这个 MSDN 视频的 14:40查看如何查看所提供的详细信息。他们甚至允许您记录现在发生崩溃的人的用户名。

因此,如果您实现如下所示的 Analytics 事件,您可以准确地弄清楚如何复制错误并放置异常捕获点。

Analytics.TrackEvent("PageView: LoginPage");
Analytics.TrackEvent("SelectAction: LoginButton");

从我在 HTTPClient 层(来自 MoveNext)中看到的内容,它似乎与异步编程有关。我建议对您的代码进行以下更改,以确保它遵循Microsoft 的 Brandon Minnick 展示的最佳实践。您还可以分享一些 Web 服务层代码以帮助我们更多


推荐阅读