大家。
我有一个类似这样的消息合同:
public class Message
{
public List<string> Records { get; set; }
}
我的信息是:
var message = new Message() {Records = new List<string>()
{
"Record 1",
"Record 2",
"Fault"
}};
消费者是:
public class MessageConsumer : IConsumer<Message>
{
public MessageConsumer() {}
public Task Consume(ConsumeContext<Message> context)
{
if (context.Message.Records.Any(m => m.Contains("Fault")))
{
var faultedRecords = context.Message.Records.Where(r => r.Contains("Fault")).ToList();
var errorMessage = new Message() { Records = faultedRecords };
throw new Exception("Message has faulted records");
}
//...something else
return Task.CompletedTask;
}
}
将 errorMessage
发送到 _error
队列的正确方法是什么?我知道 Receive Pipeline,但我无法选择正确的位置来更改消息内容。
谢谢!