C#对模型使用异步方法

本文关键字:异步方法 模型 | 更新日期: 2023-09-27 18:00:23

这里有人在C#Windows Phone 8的MVVM架构中使用过异步方法作为模型吗?

例如,在从web获取信息(xml)的方法中,我想执行以下3个步骤:1.从web获取XML(异步)2.反序列化xml3."规范化"2号中创建的对象,并返回对象

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

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

C#对模型使用异步方法

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

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