我已经在我的项目中使用Rx一段时间了,专门用于Socket编程,好的部分是它做得很好。管理我的代码,性能优势和更好的执行和解释。
最近我不得不修改我的项目的流程流,我需要转储所有传入的数据(从套接字操作)到队列(使用MSMQ实现决定排队)。
As MSMQ为从队列中取出消息提供异步调用(但以一种奇怪的模式)。我现在一直在努力使用Rx来实现这个目的,但是可以这样做。
问题:有人能给我一个干净的代码示例来实现Rx的消息接收队列使用异步模式。
我需要MSMQ的异步操作符实现,类似于以下内容
var data = Observable.FromAsyncPattern<byte[]>(
this.receiverSocket.BeginReceive,
this.receiverSocket.EndReceive(some parameters);
提前感谢。 * 欢呼声* Rx和。net
就像这样简单:
var queue = new System.Messaging.MessageQueue("test");
var fun = Observable.FromAsyncPattern((cb, obj) => queue.BeginReceive(TimeSpan.FromMinutes(10),obj,cb), a => queue.EndReceive(a));
var obs = fun();