无限循环如何检查MSMQ中是否存在相同的消息

时间:2019-01-30 08:59:29

标签: c#

我实际上是在编码RFID读取器,并且为读取卡设置了无限循环。 卡ID已发送到MSMQ服务,我在另一个C#应用程序上收到此消息。

是否可以检查和删除发送到MSMQ的重复邮件?

感谢帮助

我正在使用Visual Studio Code 2017

1 个答案:

答案 0 :(得分:0)

您似乎可以使用“ GetAllMessages”(https://docs.microsoft.com/en-us/dotnet/api/system.messaging.messagequeue.getallmessages?view=netframework-4.7.2)来获取队列中消息快照的枚举数。因为它是只读快照,所以您不能使用此枚举器删除邮件(并且它不会仅通过读取就从队列中删除邮件)。这可能是最安全的启动方式,因为您只能识别重复项:)对代码满意后,可以切换到“ GetMessageEnumerator2”(https://docs.microsoft.com/en-us/dotnet/api/system.messaging.messagequeue.getmessageenumerator2?view=netframework-4.7.2),该方法允许您调用其他方法来删除队列中的邮件。