使用async等待侦听消息

时间:2012-11-02 00:58:45

标签: .net silverlight-5.0 async-await

我想使用async await实现silverlight的localmessaging。

假设我创建了一个方法ListenTask(),它使用LocalMessageReceiver的Listen方法和Message Received事件返回包含在Task中的消息。 我如何在收到消息时使用异步等待和处理消息?

2 个答案:

答案 0 :(得分:3)

由于您期望许多消息,而不仅仅是一个消息,这可能更适合Reactive Extensions - Observable.FromEvent然后订阅。任务非常适合单一的未来价值,IObservable非常适合未来价值的“流”。

使用Rx 2.0,如果愿意,可以使用await with observable。

答案 1 :(得分:0)

詹姆斯曼宁的答案很好;但是,如果您确实想使用async / await,那么您当然可以使用Dataflow library来完成非常强大的“流式”异步消息传递。