我正在尝试在Windows Phone 7中整理一个简单的RSS提要阅读器,但我很难理解异步模型是如何工作的。
我所拥有的是一个帮助程序类,当我传递它时,URL将解析并构建一个ViewModel对象并将其返回。所以我想要实现的是:
public static class FeedHelper
{
public static FeedViewModel LoadFeed(string url)
{
//parse rss feed and return view model
}
}
在loadfeed方法中,我将创建一个webclient对象并构建FeedViewModel。但是因为WebClient的DownloadStringAsync是异步的并且结果返回到另一个方法,所以我无法弄清楚如何从LoadFeed方法返回FeedViewModel。
任何关于博客文章的示例或链接都将受到赞赏。我已经做了很多谷歌搜索,但找不到任何我将如何处理这个问题的例子。
答案 0 :(得分:0)
您需要设置WebClient
的{{1}}事件处理程序来处理RSS源。请注意,DownloadStringCompleted
在UI线程上返回,您可以避免跨线程异常。以下是进入LoadFeed方法的代码片段 -
WebClient
有两套文章可以帮助您建立RSS阅读器 -
HTH,indyfromoz
答案 1 :(得分:0)
您无法从LoadFeed函数返回ViewModel,因为正如您所发现的那样,该调用是异步的。
你有几个选择,例如。你可以: