当前位置: 首页 > 知识库问答 >
问题:

为什么我的消息总是被送到Azure服务总线中的死信队列?

太叔飞翰
2023-03-14

C#.NetCore 2.2-Azure服务总线3.4.0

我在Azure Service Bus中有3个相同属性的队列。当向这些队列发送消息时,其中一个队列中的消息总是被传递到死信队列,而其他两个队列接收活动消息。

静态异步任务SendMessagesAsync(int numberOfMessagesToSend){

try

{


    for (var i = 0; i < numberOfMessagesToSend; i++)

    {

        // Create a new message to send to the queue.

        string messageBody = $"Message {i}";

        var message = new Message(Encoding.UTF8.GetBytes(messageBody));

        Console.WriteLine($"Sending message: {messageBody}");

        // Send the message to the queue.
        await queueClient.SendAsync(message);
    }
}
catch (Exception exception)
{
    Console.WriteLine($"{DateTime.Now} :: Exception: {exception.Message}");
}

}

如何防止邮件进入死信队列?为什么只发生1个队列,而不是其他2个?

共有1个答案

仲智
2023-03-14

当消息为死字时,添加用户属性是有原因的。检查该属性以查看原因并进行相应的故障排除。具体而言,检查deadletterreasondeadlettererrordescription自定义属性。

 类似资料:
  • 我正在使用azure服务总线主题和订阅机制,并希望处理所有在死信队列中的消息。 此外,我想通过C#中的Azure Web作业处理消息,并将其发送回队列。所以我想知道如何通过我的应用程序处理死信队列上的消息?

  • > 在Azure Service Bus主题中,我有两个订阅subscription1和subscription2。我正在向主题发送一条消息。在subscription1中,消息被放弃,在subscription2中,消息被处理。subscription1中的已放弃消息是否将再次发送给两个订阅或仅发送给已放弃消息的订阅。 我也有点困惑,死信队列将是所有订阅都通用的,还是每个订阅都有一个单独的死信队

  • 如果消息中毒,Azure服务总线队列触发函数将执行默认策略,将消息发送到死信队列。但是,我们是否可以手动将消息发送到死信队列?有几次,由于某种内部或业务异常,我们不希望Azure Function执行其默认策略,我们希望将其他信息绑定到消息,并手动将其发送到Azure服务总线截止日期队列。 在以前使用BrokeredMessage对象的版本中,有一个名为 然而,在最新的Functino 2中。十、

  • 使用WebJobs SDK时,将代理消息移动到死信队列的正确方法是什么?通常我会打电话给味精。死信()。但是,SDK负责管理代理消息的生命周期。它将调用msg。如果方法返回成功,则返回Complete(),如果发生异常,则将重试该消息。我需要第三种情况,告诉ServiceBus队列将消息移动到死信队列,因为它是一条坏消息。

  • 我正在尝试Azure服务总线队列。我有以下代码: 队列发送: 接收代码: 我看到,每当我打电话放弃时,信息都被写上了死信。我的假设是它应该被激活,并且可以被另一个客户接收。

  • 如何获取Azure服务总线队列中死信消息的数量? 我可以像这样得到队列中的计数。。。 但这看起来既包括队列中的消息,也包括关联死信队列中的消息 我如何区分它们?