微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Azure存储队列中的重复检测

我想知道是否有任何优雅的方法来确保队列始终具有不同的消息(与重复检测窗口或任何时间段无关)?

我知道服务总线队列提供了会话概念(正如我所提到的,服务总线队列的重复检测对我有用,因为它取决于时间段),这可以达到我的目的,但我不希望我的组件依赖于另一个Azure服务,只是因为这个功能.

谢谢,

解决方法

这是不可能做到的.

没有任何机制可以查询存储队列,并查明具有相同内容的消息是否已存在或之前存在.您可以尝试使用某个存储表来实现自己的逻辑,但这不可靠 – 因为表中的条目可能会成功,然后进入队列可能会失败 – 现在您可能在表中有错误的数据.

您的代码应始终假定它可以检索包含已处理的相同数据的消息.这是因为当正在处理它们的工作程序崩溃或耗时太长时,消息可以返回到队列.

原文地址:https://www.jb51.cc/csharp/244029.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐