如何从服务总线死信队列中读取消息?我可以读取message-id和消息的序列号,但是我需要实际的消息。有人可以帮我弄这个吗?可以阅读实际的消息吗?
答案 0 :(得分:0)
在阅读消息表单死信队列之前,您应该检查失败的原因是什么?如果某些服务不可用,则创建WebJob并尝试以下代码并处理消息。
public void GetDeadLetterMessagesAsync(string connectionString, string queueName)
{
var queueClient = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(queueName));
while (true)
{
BrokeredMessage bmessgage = queueClient.Receive();
if (bmessgage != null)
{
string msg = new StreamReader(bmessgage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
//Custom business logic to prcess your message
bmessgage.Complete();
}
else
{
break;
}
}
}
如果消息有问题,那么您应该在UI上阅读并显示消息,以便后台团队可以更正消息,否则它将再次失败。