HH.*_*HH. 7 msmq msmq-transaction
有人能告诉我MSMQ(使用交易)是否支持竞争消费者?基本上,我有多个线程将消息从单个队列中排除.只是想确保这一点有效,因为MSMQ的行为有时与我预期的不同.
如果您在同一队列上的同一台计算机上调用来自多个进程的Receive,则不会多次获得相同的消息 - 除非您从读取回滚事务.
如果您正在使用2008/w7并且在事务中从同一远程队列中的多台计算机上接收,则不应该两次看到相同的消息(同样,除非您回滚).
如果您使用枚举器来查看消息然后删除一个有趣的消息(通过RemoveCurrent),您应该会看到一个例外,如果另一个消费者已经将其删除,则该消息已被删除.
如果您使用的是2003/XP,则无法在交易中进行远程接收,因此所有投注都在那里.