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

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

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

谢谢,

解决方法

这是不可能做到的.

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

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...