繁体   English   中英

使用Reactive Extensions的Event Aggregator的问题

[英]Issues with Event Aggregator using Reactive Extensions

要链接我的MEF应用程序,我使用的是这里的事件聚合器。 它非常适合将数据分发到实际需要的模块中。

我正在更多地使用反应式扩展,并且我一直在尝试执行以下操作:

eventSubscription = MainApp.Events.GetEvent<UDPMessageIn>()
                                  .BufferWithTime(TimeSpan.FromSeconds(1))
                                  .Subscribe(x => 
                                       { 
                                           // do something here...
                                       });

但是,事件聚合器似乎挂在以下位置的Publish方法中:

((ISubject<TEvent>)subject).OnNext(sampleEvent);

我猜想system.reactive或聚合器的设计有些我不完全了解的东西。 有人有想法吗?

生产者和消费者都在哪个线程上运行? 他们是分开的吗?

尝试:

.BufferWithTime(TimeSpan.FromSeconds(1), Scheduler.TaskPool);

原来是与Rx或事件聚合器无关的线程问题。

将我的一个UI调用更改为BeginInvoke使其停止挂起,这使我看到了正确的代码...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM