servicebuss 的 webjob 消息中毒(类型队列)

webjob message poisoning for servicebuss (type queue)

我正在尝试处理我的消息中毒,因为它没有命中我的毒方法。我正在关注 this article from Microsoft,这是我的代码:

public static void ProcessQueueMessage([ServiceBusTrigger("emailqueue")] EmailModels.EmailSendModel message, TextWriter log,[SendGrid()] out Mail mail)
    {
        log.WriteLine(message);
        mail = new Mail(){Subject = message.Title};
        mail.From = new Email("me@gmail.com");
        mail.AddPersonalization(new Personalization()
        {Tos= message.To.Select(t=>new Email (t.Email)).ToList()});
        mail.AddContent(new Content("text/plain", $"The message {message.Body}' was successfully processed."));
    }

    public static void ProcessPoisonMessage([ServiceBusTrigger("emailqueue-poison")] EmailModels.EmailSendModel message, TextWriter logger)
    {
        logger.WriteLine($"start poisoning");
        logger.WriteLine($"Poisoning message for proposal id {message.ProposalId} for list {JsonConvert.SerializeObject(message.To)}");
    }

发送方法被命中 5 次并失败 (故意) 但随后中毒没有被命中,我的消息最终在死信消息中没有任何操作:|

我做错了什么?

您引用的文章描述的是 Azure 存储队列,而不是服务总线。它们是不同的服务,毒消息处理也大不相同。

尝试用

标记你的触发器
[ServiceBusTrigger("emailqueue/$DeadLetterQueue")]