我们有一个客户正在调用TIBCO EMS队列,并且正在整理如下事件:

var msgConsumer = _session.CreateConsumer(responseQueue);
var response = Observable.FromEvent<EMSMessageHandler,EMSMessageEventArgs>
            (h => msgConsumer.MessageHandler += h, h => msgConsumer.MessageHandler -= h)
            .Where(arg => arg.Message.CorrelationID == message.MessageID);

当我调用response.Subscribe(...)时,我得到System.ArgumentException“错误绑定(bind)到目标方法。”

我可以使它与Observable.FromEventPattern<EMSMessageEventArgs>(msgConsumer, "MessageHandler")一起使用,但随后将事件作为字符串而不只是干净了。

我也有IObservable<EventPattern<EMSMessageEventArgs>>而不是IObservable<EMSMessageEventArgs>
我想了解的是:什么时候应该使用FromEvent而不是FromEventPattern?似乎有点试验和错误。

最佳答案

“将FromEvent用于事件在结构上看起来不像.NET事件模式(即,不基于发送方,事件args),而将FromEventPattern用于基于模式的事件。” -Bart De Smet (Rx team)

10-08 08:43