2010-11-08 64 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);