如何在Task.Run中使用时正确返回任务信息?

时间:2016-06-11 21:39:33

标签: c# wpf wcf asynchronous

在使用我的应用程序时,我正在使用WCF和

  

生成基于任务的操作。

我想在后台线程上运行GetAllPatientsAsync()(由WCF定义)。下面的代码有效,但有些不对劲。特别是,我正在从内部等待中丢失任务信息。这是如何正确完成的?

private async Task<ObservableCollection<ViewPatient>> GetPatientList()
{
        IsLoading = true;

        var x = await Task.Run(async () =>
        {
          return new ObservableCollection<ViewPatient>(await MedicalClient.GetAllPatientsAsync());
        });

        IsLoading = false;
        return x;
}

非常感谢任何帮助或建议。

0 个答案:

没有答案