2010-11-08 81 views
2

要连接我的MEF应用程序,我使用事件聚合器found here。它非常适合将数据分发到实际需要的模块中。使用无效扩展的事件聚合器的问题

我越来越为使用无功扩展和我一直在努力做到以下几点:

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

但是,事件聚合器将出现在发布方式挂在:

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

我猜测,有一些关于system.reactive或我不完全了解的聚合器的设计。任何人有任何想法?

+0

我不熟悉的反应扩展,但我会看这个问题学到更多。顺便说一下,什么是MEF? – JeremyWeir 2010-11-08 19:39:42

+0

托管扩展性框架。 http://mef.codeplex.com/。它内置到.NET 4.0中 – Tim 2010-11-08 19:50:32

回答

0

它原来是一个线程问题,这是无关的Rx或事件聚合。

改变我的UI的一个调用来的BeginInvoke从挂停止它,这让我在看代码右边位...

1

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

尝试:

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