我们有一个客户正在调用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)