我們有一個客戶叫開了個TIBCO EMS隊列,並連線了這樣的事件:「錯誤與靶法」何時使用Observable.FromEventPattern而不是Observable.FromEvent?
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
我可以使它與Observable.FromEventPattern<EMSMessageEventArgs>(msgConsumer, "MessageHandler")
一起工作,但它是以字符串的形式得到事件,而不是乾淨。
而且我已經IObservable<EventPattern<EMSMessageEventArgs>>
而不是IObservable<EMSMessageEventArgs>
我想什麼要了解的是:當我應該使用FromEvent
超過FromEventPattern
?這似乎有點反覆試驗。
還有其他重載的FromEventPattern沒有字符串參數,如果這是你關心的。 –
謝謝,我錯過了過載。是的字符串打擾了我,但它更多的是我的FromEvent和FromEventPattern之間的區別(請參閱下面的回答評論) – baralong
請參閱http://stackoverflow.com/questions/19895373/how-to-use-observable-fromevent-而不是fromeventpattern-and-avoid-string-lit也可以完全解釋FromEvent。 –