BackgroundTask
和Metro App UI之间是否可以进行双向通信?
所需的功能如下:
BackgroundTask
会继续执行此操作
是必需的。BackgroundTask
将继续执行此操作
是必需的,但也通知Metro App,新数据是
可用。Queued
。 BackgroundTask
监控
此内存Queue
并处理这些操作。请告知是否可行,或建议设计符合这些要求。
答案 0 :(得分:0)
只需使用背景thread
或Task
Task.Factory.StartNew(() =>
{
// Download data
}).ContinueWith(t =>
{
// Update UI
}, Scheduler.FromCurrentSynchronizationContext());
同步上下文中的ContinueWith
很重要,因为您将从另一个线程获得更新ObservableCollection
的异常,您还可以使用Dispatcher
执行代码块UI线程。
上面的文字仍然显示原始答案:
关于here链接的后台任务的MSDN指南明确指出:
您的问题需要通过为您的应用程序维护“新数据”存储来解决,后台工作人员将下载数据并在此处写入,恢复/打开时您的应用程序将检查并删除该数据以允许您更新UI - 存储充当您的中间队列。
答案 1 :(得分:0)