链接我的MEF应用程序,我正在使用事件聚合器 found here .它非常适合将数据分发到实际需要它的模块中。
我越来越喜欢使用响应式扩展,并且我一直在尝试执行以下操作:
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);
关于c# - 使用 Reactive Extensions 的事件聚合器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4124678/