C# Xamarin表单:视图、异步函数、HttpClient和webapi调用

C# Xamarin表单:视图、异步函数、HttpClient和webapi调用,c#,asynchronous,asp.net-web-api,xamarin.forms,C#,Asynchronous,Asp.net Web Api,Xamarin.forms,我应该征求意见。我正在为我的公司创建一个内部应用程序,并实现了一个同步过程。此过程从应用程序数据库读取所有记录并将其发送到主服务器。有很多桌子。我想显示一个进度条和一个文本来通知用户应用程序正在做什么 为此,我有一个带有进度条和文本框的视图,一个视图模型来更新进度条和文本中的进度值。在这个ViewModel中,我调用了另一个函数:这个函数是一个web客户端(HttpClient)来发送给我的webapi所有记录。对于每个重要事件(网络错误、更新状态、同步完成等),此函数都会引发一个事件,即Vie

我应该征求意见。我正在为我的公司创建一个内部应用程序,并实现了一个同步过程。此过程从应用程序数据库读取所有记录并将其发送到主服务器。有很多桌子。我想显示一个进度条和一个文本来通知用户应用程序正在做什么

为此,我有一个带有进度条和文本框的视图,一个视图模型来更新进度条和文本中的进度值。在这个ViewModel中,我调用了另一个函数:这个函数是一个web客户端(HttpClient)来发送给我的webapi所有记录。对于每个重要事件(网络错误、更新状态、同步完成等),此函数都会引发一个事件,即ViewModel接收此事件并更新自身,然后更新视图

总的来说,所有的过程都是有效的,但是。。。视图速度非常快,它不会一步一步地显示消息。我的意思是当我用async调用webapi时。主过程针对客户机函数打开许多实例,应用程序在后台调用webapi

然后,我为每个异步函数调用插入了
.ConfigureAwait(false)
,但我没有注意到真正的区别

有时我会收到一个错误

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()in/Users/builder/data/lanes/3969/44931ae8/source/xamarin-macios/_-ios-build/Library/Frameworks/xamarin.ios.framework/Versions/git/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/ExceptionServices/ExceptionServices/ExceptionServices-common.cs:143

应用程序正在冻结


那么我的问题是:管理这类活动的最佳方式是什么?

我希望这篇文章能回答你的问题。我希望这篇文章能回答你的问题。