Events Windows通用应用程序挂起状态和事件

Events Windows通用应用程序挂起状态和事件,events,event-handling,win-universal-app,Events,Event Handling,Win Universal App,我有一个UWP,每15分钟启动一次后台任务。 在UI的主页面上,设置并调用该任务的完整事件 我玩了一些游戏,看看如果应用程序进入后台,甚至被挂起,事件是如何处理的 我得到了一个表达式,即当应用程序离开挂起状态时,所有事件都进入队列并被处理 这不是我想的。我需要一个选项,只处理一次事件,忽略UI挂起期间引发的所有其他事件。 在OnComplete事件期间,我必须处理的工作非常耗时,因此多次调用该函数是非常无效的,结果也不会改变 一个选项是设置事件的最后一次运行时间并忽略给定时间范围内的调用,但在事

我有一个UWP,每15分钟启动一次后台任务。 在UI的主页面上,设置并调用该任务的完整事件

我玩了一些游戏,看看如果应用程序进入后台,甚至被挂起,事件是如何处理的

我得到了一个表达式,即当应用程序离开挂起状态时,所有事件都进入队列并被处理

这不是我想的。我需要一个选项,只处理一次事件,忽略UI挂起期间引发的所有其他事件。 在OnComplete事件期间,我必须处理的工作非常耗时,因此多次调用该函数是非常无效的,结果也不会改变

一个选项是设置事件的最后一次运行时间并忽略给定时间范围内的调用,但在事件系统中是否没有处理这些调用的默认方法

我以MS为例来做背景任务um UWP。在这个示例应用程序中,您可以注册一个任务,当该任务被调用时,它会按从0到100的步长进行计数,并在主窗口上显示百分比。这是一个非常简单的示例,可以从github()下载。 该示例使用OnProcess事件,但没有区别。 我做了什么 1) 启动应用程序 2) 注册后台任务 3) 通过Visual Studio进程位置工具栏运行任务 4) 任务运行时,通过“进程位置”工具栏将应用程序设置为“挂起” 5) 请稍等,然后继续应用程序 6) 通过示例的OnProcess方法中的断点,我现在可以看到该方法被多次调用(后台任务中的每个Raise事件调用一次)


我想要的是,如果应用程序恢复,EventMethod对于所有等待处理的RaiseEvents只处理一次

你的意思是你不希望在应用程序挂起后为当前已完成的后台任务触发
OnCompleted
事件吗?即使应用程序恢复,也不应该触发
OnCompleted
事件为该任务触发?仅针对当前任务或一旦应用程序暂停然后恢复,以后的任务都不会触发事件?顺便问一下,“how tat”在这里是什么意思“task”?如果我误解了,请详细说明。我添加了一些解释,以更清楚地说明我想要什么。简言之,我希望所有等待“完成”当前在等待队列中的调用将通过一次方法调用来处理