c# - C#使用异步方法进行模型

标签 c# wpf windows-phone-8 asynchronous mvvm

在此,是否有人在C#Windows Phone 8中将异步方法用作MVVM体系结构中的模型?

例如,我要从Web获取信息(xml)的方法中有3个步骤:
1.从Web获取XML(异步)
2.反序列化xml
3.“归一化”在No.中创建的对象。 2,并返回对象

在模型内部,有一种GetUser()方法,当从 View 中调用它时,该方法返回一个User对象。但是GetXML方法是异步的,因此它返回Task<>。因此,就像从模型到 View 的异步链(对象Task<>被传递到 View )。但是我想反序列化和规范化模型中的对象。异步解决方案(返回Task<>)表示在获得Task<>的结果后,我必须在 View 中执行逻辑。

有什么解决办法吗?一个返回Task<>结果而不是Task<>本身的异步方法?

最佳答案

Is there any solution for this? An async method that returns the result of the Task<> not the Task<> itself?



只需使您的模型方法类似于public async Task<User> GetUserAsync(...),并在模型中使用await为您组成异步。在Model层中没有什么可以阻止这种情况的发生,这与在应用程序其他层中的完成过程非常相似。

关于c# - C#使用异步方法进行模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300324/

相关文章:

c# - 内置 CastOrDefault?

c# - 打开保存的文件时出错

c# - 不同网格中的同步网格列宽度,或在某些表中联合单元格的最简单方法

c# - WPF 创建在 xaml 中定义的控件实例

c# - 将 WPF 项目链接到 Windows Azure 数据库

c# - 为 WP7 和 WP8 创建图表

xaml - 如何在模板中更改数据透视表项标题的大小

c# - 使用 Ninject 注入(inject)工厂字典

c# - HttpClient 响应没有得到刷新

c# - 使用 XPATH 访问 XML 元素(原为 : Good tutorial to learn xpath)