我有一个Azure Web作业,它通过处理Azure存储队列上的新项目来工作。可以了 我已将MaxDequeueCount设置为一个较小的数字,并且一旦队列触发的操作失败多次,我希望该队列上的该项被移至有毒队列。
但是,这没有发生。该项目已从队列中删除,并且没有任何毒物队列,也没有任何毒物队列中的此消息。这是怎么回事,因为我不知道将消息“推送”到中毒队列所需的任何其他步骤。
public static async Task ProcessQueueMessage([QueueTrigger("myQueue")] CloudQueueMessage message, TextWriter log)
{
try
{
throw new InvalidCastException();
}
catch (Exception exception)
{
log.WriteLine($"Exception in ProcessQueueMessage: {exception}");
throw;
}
}
答案 0 :(得分:0)
仅当存在未处理的异常时,消息才会移至中毒队列。不会出现try-catch错误。 您可以做的是在“捕获”部分中将消息手动移至中毒队列。