public void SendOutgoingMessages(Envelope original, IEnumerable <object> cascadingMessages) { var doNowActions = cascadingMessages.OfType <IImmediateContinuation>().SelectMany(x => x.Actions()); var cascading = cascadingMessages.Where(x => !(x is IImmediateContinuation)); Outgoing.SendOutgoingMessages(original, cascading); doNowActions.Each(message => { try { _invoker.InvokeNow(message); } catch (Exception e) { logger.Error("Failed while trying to invoke a cascading message:\n" + message.ToString(), e); } }); }
public void Consume <T>(T message) { _invoker.InvokeNow(message); }