使用WebJobs SDK时,将BrokeredMessage移动到deadletter队列的正确方法是什么?通常我只会调用msg.DeadLetter()。但是,SDK负责管理代理消息的生命周期。如果方法返回成功,它将调用msg.Complete(),如果发生异常,它将重试该消息。我需要告诉ServiceBus队列将消息移动到deadletter队列的第三种情况,因为它是一个错误消息。
答案 0 :(得分:6)
您可以显式地对服务总线队列进行deadletter,并在消息被删除时触发一个函数。
public static void ProcessSBQueueMessage(
[ServiceBusTrigger("inputqueue")] BrokeredMessage inputText)
{
inputText.DeadLetter("Webjobs", "webjobsdescription");
Console.WriteLine(inputText);
}
public static void ProcessSBDeadLetterQueueMessage(
[ServiceBusTrigger("inputqueue/$DeadLetterQueue")] BrokeredMessage inputText)
{
Console.WriteLine(inputText);
}