Domanda

Qualcuno può dirmi se MSMQ (utilizzando le transazioni) supporta i consumatori concorrenti? Fondamentalmente, ho più thread dequeueing messaggi fuori di una singola coda. Volevo solo fare in modo che questo funzionerà dal MSMQ a volte si comporta in modo diverso da quello previsto.

È stato utile?

Soluzione

Se si chiama Ricevi da più processi sulla stessa macchina sulla stessa coda, non sarà possibile ottenere lo stesso messaggio più di una volta -. A meno che non rollback di una transazione da una lettura

Se si utilizza 2008 / W7 e stanno ricevendo su più macchine dalla stessa coda remota all'interno di una transazione, non si dovrebbe vedere lo stesso messaggio due volte (di nuovo, a meno che non si tira indietro).

Se si utilizza un enumeratore per sbirciare i messaggi e poi rimuovere un interessante (via RemoveCurrent), si dovrebbe aspettare di vedere un'eccezione che il messaggio è già stato rimosso se un altro consumatore ha lo raccolse.

Se siete su 2003 / XP, non si può fare remoto riceve in una transazione in modo da tutte le scommesse sono fuori lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top