public void Consume(IReceivedMessageTraceList list) { if (_unsubscribe != null) { _unsubscribe(); } _unsubscribe = null; ITextBlock text = new TextBlock() .BeginBlock("Trace URI: " + _uriString, string.Format("{0} message{1}", list.Messages.Count, list.Messages.Count == 1 ? "" : "s")) .Break(); foreach (IReceivedMessageTraceDetail message in list.Messages) { text.BeginBlock("Received: " + message.Id, Format(message.StartTime)); text.Table(GetMessageHeaderDictionary(message), "Duration (ms)", ((int)message.Duration.TotalMilliseconds).ToString("N0")); text.Break(); if (message.Receivers != null) { foreach (IReceiverTraceDetail receiver in message.Receivers) { text.BeginBlock(receiver.ReceiverType, Format(receiver.StartTime)); text.Table(GetReceiverDictionary(receiver)); text.EndBlock(); } } if (message.SentMessages != null) { foreach (ISentMessageTraceDetail sent in message.SentMessages) { text.BeginBlock("Sent: " + sent.Id, Format(sent.StartTime)); text.Table(GetMessageHeaderDictionary(sent), "Endpoint Address", sent.Address.ToString()); text.EndBlock(); } } text.EndBlock(); } _log.Info(text.ToString()); _complete.Set(); }
public bool Execute() { Uri uri = _uriString.ToUri("The from URI was invalid"); IInboundTransport fromTransport = Program.Transports.GetTransport(uri); var text = new TextBlock() .BeginBlock("Peek URI: " + uri, ""); int peekCount = 0; fromTransport.Receive(receiveContext => { if (peekCount >= _count) return null; var body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd()); text.BeginBlock("MessageId: " + receiveContext.MessageId ?? "", peekCount) .Body(body) .EndBlock(); peekCount++; return null; }, TimeSpan.Zero); _log.Info(text.ToString()); return true; }
public bool Execute() { Uri uri = _uriString.ToUri("The from URI was invalid"); IInboundTransport fromTransport = Program.Transports.GetInboundTransport(uri); var text = new TextBlock() .BeginBlock("Peek URI: " + uri, ""); int peekCount = 0; fromTransport.Receive(receiveContext => { if (peekCount >= _count) { return(null); } var body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd()); text.BeginBlock("MessageId: " + receiveContext.MessageId ?? "", peekCount) .Body(body) .EndBlock(); peekCount++; return(null); }, 5.Seconds()); _log.Info(text.ToString()); return(true); }