Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有人能告诉我 MSMQ(使用事务)是否支持竞争消费者吗?基本上,我有多个线程将消息从单个队列中出列。只是想确保这会起作用,因为 MSMQ 有时的行为与我预期的不同。
如果您从同一队列上同一台机器上的多个进程调用 Receive,您将不会多次收到相同的消息——除非您从读取回滚事务。
如果您使用的是 2008/w7 并且在多台机器上从同一事务中的同一个远程队列接收,您不应该看到两次相同的消息(再次,除非您回滚)。
如果您使用枚举器来查看消息,然后删除一个有趣的消息(通过 RemoveCurrent),您应该会看到一个异常,即如果另一个消费者已经接收到该消息,则该消息已被删除。
如果您使用的是 2003/XP,则无法在交易中进行远程接收,因此所有赌注都在那里。