我有BackgroundTask
连接到远程服务器并执行某种操作,下载,上传等。此任务每15分钟运行一次。
与UI
相关联的BackgroundTask
执行相同或更多操作。
但是,远程服务器每次登录只允许一个会话,我只有一个登录到该服务器。因此,我需要一种策略来确保这两者中的任何一个都是活动的而不是两者都是。
目前,我在LocalSettings
中存储一个值,指示UI是否打开。如果UI已关闭,BackgroundTask
将按照正常情况执行此操作。如果UI
已打开,则BackgroundTask
将不执行任何操作。
这种方法很好,除了BackgroundTask
处于运行状态并启动UI时。我需要一种在启动UI时立即取消此BackgroundTask
的方法,以便UI可以使用登录到远程服务器。关于如何实现这一目标的任何提示或建议?
答案 0 :(得分:0)
Thanks to Dave Smits for the solution.
简而言之:
Cancellation
方法注册Run
个活动。Cancellation
事件处理程序中,确保已断开连接的会话。OnLaunched
对象中出现App
事件时,Unregister
任务引发任务Cancellation
事件。