前端之家收集整理的这篇文章主要介绍了
c# – Azure存储队列中的重复检测,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有任何优雅的
方法来确保队列始终具有不同的消息(与重复检测窗口或任何时间段无关)?
我知道服务总线队列提供了会话概念(正如我所提到的,服务总线队列的重复检测对我有用,因为它取决于时间段),这可以达到我的目的,但我不希望我的组件依赖于另一个Azure服务,只是因为这个功能.
谢谢,
这是不可能做到的.
没有任何机制可以查询存储队列,并查明具有相同内容的消息是否已存在或之前存在.您可以尝试使用某个存储表来实现自己的逻辑,但这不可靠 – 因为表中的条目可能会成功,然后进入队列可能会失败 – 现在您可能在表中有错误的数据.
您的代码应始终假定它可以检索包含已处理的相同数据的消息.这是因为当正在处理它们的工作程序崩溃或耗时太长时,消息可以返回到队列.
原文链接:https://www.f2er.com/csharp/244029.html