使用Task加载模型异步

时间:2014-05-21 17:12:12

标签: wpf mvvm task-parallel-library

我想知道如何使用Task从服务加载模型异步。 到目前为止,我在视图模型中使用了BackgroundWorker。 有人能给我一个明确的例子吗? 感谢。

1 个答案:

答案 0 :(得分:0)

要使用TPL加载模型,请参阅一些指示性代码......

        Task t = new Task(() =>
        {
            // broadcast start of busy state 
        });
        t.ContinueWith((z) =>
        {
            // load the model
        });
        t.ContinueWith((x) =>
        {
            // broadcast end of busy state
        });
        t.Start();

第一个任务让UI知道应用程序正在进入忙碌状态,以便为用户提供视觉线索。

第二项任务执行繁重的工作。

最后的任务宣布工作已经完成。 (x)可以查询以确定适当的UI消息(它有效或无效)

任务文档在http://msdn.microsoft.com/en-us/library/vstudio/system.threading.tasks.task