c# - 使用 Reactive Extensions 的事件聚合器问题

标签 c# mef system.reactive eventaggregator

链接我的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/

相关文章:

c# - 为什么 C# 编译器生成错误,即使使用属性 "SpecialName"

c# - 是否可以使用 MEF RegistrationBuilder 创建 PRISM ModuleExport?

c# - 如何在 Rx 中交替缓冲和流动实时数据流

C#启动一个静态线程

c# - 通过语句加速 linq 组

c# - 无法将 JSON 反序列化为强类型对象

c# - 在运行时检测 MEF 程序集

.net - 类型受限的开放泛型不适用于 RegistrationBuilder

system.reactive - 验证用户是否从具有响应式扩展的响应式列表中键入了单词

c# - 我怎样才能使这个 Observable 更可重用?