|
|
1
3
这真的取决于你想用这些信息做什么。例如,如果您正试图显示相册/类别列表等,则建模的一种方法是
有一个明显的问题是,在您通过网络收到消息之前,您需要等待,而不是继续(例如,如果您希望保留登录页面,直到您知道您已经成功地进行了身份验证)。在这种情况下,您可以在异步回调中更改页面。 显然,您也可以做一些更高级的事情,让线程等待异步回调设置的事件。我建议不要让UI线程这样做,因为它限制了您拥有超时等功能,并且通常非常混乱。 |
|
|
2
7
您可以看一下反应式(RX)框架扩展: http://www.leading-edge-dev.de/?p=501 http://themechanicalbride.blogspot.com/2009/07/introducing-rx-linq-to-events.html [编辑:哦-找到一个好链接:] http://rxwiki.wikidot.com/101samples 它们提供了一种“排序”事件的方法,仅在满足某些条件时才进行操作-例如,假设您有一个方法“authenticationresult authenticate(string user,string pass)”。 你可以这样做:
有效地将异步方法转换为同步方法。您可以将此扩展为包括“链接”:
整洁的东西:) |
|
|
3
1
我们使用所有异步函数签名编写了客户端服务层,如下所示:
服务代码对Web服务进行异步调用,当返回时,如果调用成功,则调用Success回调;如果存在错误/异常,则调用Failure回调。然后呼叫代码看起来有点像这样:
(uiinvoker只是一个从后台线程发回ui的实用程序。) |
|
4
1
我把一些更流畅的东西放在一起。 Restful-Silverlight 是我创建的一个库,用于帮助Silverlight和WP7。 我已经包含了下面的代码来展示如何使用这个库从Twitter中检索tweets。 Restful Silverlight从Twitter检索tweets的示例用法:
|