【发布时间】:2013-06-16 00:08:28
【问题描述】:
我有一个BackgroundTask,它连接到远程服务器并执行某种操作、下载、上传等。此任务每 15 分钟运行一次。
与BackgroundTask 关联的UI 具有相同的功能,甚至更多。
但是,远程服务器每次登录只允许一个会话,而我只有一个登录到该服务器。因此,我需要一种策略来确保这两者中的任何一个都处于活动状态,而不是两者都处于活动状态。
目前,我在LocalSettings 中存储了一个值,该值指示 UI 是否打开。如果 UI 关闭,BackgroundTask 将照常工作。如果UI 是打开的,BackgroundTask 将什么也不做。
这可以正常工作,除非BackgroundTask 处于运行过程中并且 UI 已启动。我需要一种在 UI 启动时立即取消此BackgroundTask 的方法,以便 UI 可以使用登录到远程服务器。关于如何实现这一点的任何提示或建议?
【问题讨论】:
标签: windows-runtime microsoft-metro c#-5.0 winrt-async