Xamarin.forms 如何跟踪后台服务何时执行

Xamarin.forms 如何跟踪后台服务何时执行,xamarin.forms,background-service,Xamarin.forms,Background Service,我是Xamarin的新手,我正试图缩小用于消息的模式上的差距。页面/视图模型如何知道在实例化视图模型之前后台服务是否发送了消息?如何知道后台服务是否正在运行或几分钟前刚刚运行完毕,或者后台服务是否失败 场景: 登录页面上的用户登录。我们开始一些后台服务 下载最新的pdf文件列表 拉取可用产品列表 下载一堆图片 等等 用户界面将打开个人资料页面,订阅每个事件,并在完成后显示数据库中的数据 在导航菜单中,您可以转到产品可用页面,当该页面加载时,我将显示所有可用产品。ProductsAvailable

我是Xamarin的新手,我正试图缩小用于消息的模式上的差距。页面/视图模型如何知道在实例化视图模型之前后台服务是否发送了消息?如何知道后台服务是否正在运行或几分钟前刚刚运行完毕,或者后台服务是否失败

场景:
登录页面上的用户登录。我们开始一些后台服务

  • 下载最新的pdf文件列表
  • 拉取可用产品列表
  • 下载一堆图片
  • 等等
  • 用户界面将打开个人资料页面,订阅每个事件,并在完成后显示数据库中的数据

    在导航菜单中,您可以转到产品可用页面,当该页面加载时,我将显示所有可用产品。ProductsAvailableViewModel如何知道是下载了所有产品,还是下载失败。该消息可能在viewmodel对象实例化之前发送

    我想用这种方法解决这个问题:
    在SQLite数据库中有一个表,用于跟踪所有服务发送的所有消息。视图模型可以查询事件,以查看服务是否仍在处理拉取数据,或者最近是否失败,需要在屏幕上显示任何数据之前重试


    是否有一种通用的模式实践正在使用?我不想陷入一些必须重新编写的反模式过程。

    MessagingCenter可以帮助您,但也可以在Stephen Cleary的Stackoverflow答案中查找,这个人实际上写了一本关于异步/等待和后台任务的书。MessagingCenter可以帮助您,但也可以在Stephen Cleary的Stackoverflow答案中查看一下,这个人实际上写了一本关于异步/等待和后台任务的书。