Tenemos un cliente que llama a una cola de TIBCO EMS y están cableando los eventos como este:Cuándo utilizar Observable.FromEventPattern en lugar de 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);
Cuando llamo response.Subscribe(...)
me sale System.ArgumentException "error de unirse a secuencias diana método."
Puedo hacer que funcione con Observable.FromEventPattern<EMSMessageEventArgs>(msgConsumer, "MessageHandler")
pero luego tiene el evento como una cadena y no tan limpio.
También he IObservable<EventPattern<EMSMessageEventArgs>>
en lugar de IObservable<EMSMessageEventArgs>
Lo que me gustaría que entender es: ¿cuándo debo usar FromEvent
sobre FromEventPattern
? Parece un poco de prueba y error.
Existen otras sobrecargas de FromEventPattern que no tienen un parámetro de cadena si a usted le preocupa. –
Gracias, me había perdido esa sobrecarga. Sí, la cadena me molestó, pero era más la diferencia entre mi FromEvent y FromEventPattern (ver comentario en tu respuesta a continuación) – baralong
Ver http://stackoverflow.com/questions/19895373/how-to-use-observable-fromevent- instead-of-fromeventpattern-and-avoid-string-lit para obtener una explicación completa de FromEvent también. –