从可见性延迟的天蓝色队列中删除项目

时间:2018-06-20 09:19:57

标签: c# azure azure-queues

我将物品放置在天蓝色的队列中,且有明显的延迟。这些项目在适当的时间“弹出”,并由Webjob处理。

该过程运行完美。但是,我的用户现在希望能够编辑与当前在队列中且具有可见性延迟的项目相关的数据。如何从队列中删除该项目,以便我的用户可以编辑其关联的详细信息,将其保存到基础数据库中,然后在对其进行编辑后将其放回队列中。

我有一个机制可以编辑数据库中的数据,然后有效地创建我的消息的新实例并将其放入队列中。问题是我然后在队列中有效地为同一项目添加了2条消息,因此我希望能够在用户开始编辑过程时删除原始消息。那么,如果由于可见性延迟而无法看到原始消息,该如何从队列中提取原始消息?

1 个答案:

答案 0 :(得分:0)

我假设您使用的是存储队列,而不是服务总线。尝试使用UpdateMessage方法。

q.UpdateMessage(message, visbility, MessageUpdateFields.Content | MessageUpdateFields.Visibility);

我会尽快查看一下,如果与我上次使用存储队列的时间相比发生了变化,请及时更新。