Recibo un mensaje de error "No se ha encontrado el mensaje solicitado en la cola especificada" cuando se usan transacciones en MSMQ remoto. Si se elimina la transacción o si la cola se mueve a la misma máquina, todo funciona bien. La cola está en la máquina con Windows 2008 y el cliente (código que se muestra a continuación) se ejecuta en la máquina con Windows 7.MSMQ remoto, Transactions y ReceiveById failed - "El mensaje solicitado no se encontró en la cola especificada"
//Throws above error
using (MessageQueueTransaction mqTxn = new MessageQueueTransaction())
{
mqTxn.Begin();
Message message = messageQueue.ReceiveById(peekedMessage.Id, mqTxn);
mqTxn.Abort();
}
//Throws above error
using (TransactionScope txnScope = new TransactionScope())
{
Message message = messageQueue.ReceiveById(peekedMessage.Id, MessageQueueTransactionType.Automatic);
}
//Works fine
Message message = messageQueue.ReceiveById(peekedMessage.Id);
P.S. peekedMessage es un mensaje que se asoma justo antes de estas llamadas. He verificado que peekedMessage.Id coincide con el primer elemento de cola. La cola es transaccional.