C# – MSMQ – send to remote private queue does nothing

c++msmq

I'm experimenting with MSMQ and can get a sender/receiver working on a local machine. Now I'm trying to have a sender work from another machine and send messages to a remote private queue, but now my sender says it has sent a message yet nothing is ever received – or looks like it has ever been sent as far as I can tell.

I've made sure that it is connecting to the remove private queue as follows:

FormatName:Direct=TCP:ipaddress\private$\TestQueue

where ipaddress is the correct address to my remote machine. I can then see in Computer Management that an outgoing queue is created for this queue. Yet when I use the Send() method it completes and does nothing. Nothing appears in the outgoing queue and certainly never appears on the remote machine. It also does this without any errors – it just does nothing and carries on.

I tried adding in code for acknowledgements using this article http://beaucrawford.net/post/MSMQ-ndash3b-Sending-Messages-to-Remote-Queues.aspx but then it does throw an exception saying that the message requested was not found in the acknowledgment queue.

Any ideas? Are there things that need to be configured before I can do distributed message queueing?

Update:

Found out that it was to do with permissions on the queue I was sending to. Using answers below I switched on dead-letter queueing to find out where the messages were going and found out that the message was being sent to the remote private queue but access was denied.

Best Solution

Most likely the permissions on the queue are insufficient.

Enable Negative Source Journaling in your code to get a Dead Letter Queue message that explains the lack of delivery.

http://technet.microsoft.com/en-us/library/cc739818(WS.10).aspx

Cheers
John Breakwell

Related Question