MSMQ Messages Are Stuck In The Outgoing Queue

mark picture mark · Oct 28, 2010 · Viewed 29.9k times · Source

Although my question looks similar to some already found on SO, those post did not help me, so here it is:

Given:

  • Two machines on the same segment (naturally in the same domain, actually on the same desk)
  • Both machines are Windows 7 workstations
  • Both machines have disabled firewall
  • Both machines see each other (ping works)
  • There is a private non transactional message queue test on one of them.
  • The sender machine has HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\SimpleClient\@BinaryEnabled = 'Yes'
  • The queue owner sends a message from another machine
  • The message is stuck on the outgoing queue, never reaching the target.
  • When sent from the same machine (i.e. locally) the message arrives OK.

The message is sent using the following code:

var q = new MessageQueue(@"FormatName:Direct=OS:il-mark-lap\private$\test");
q.Send(string.Format("Test message sent at {0} from {1}", DateTime.Now, Environment.MachineName));

Where il-mark-lap is the address of the machine with the queue.

What on earth do I have to do to make the thing work?

Thanks a lot.

Answer

BlackICE picture BlackICE · Dec 21, 2011

I think I found the answer to this issue, I was having what appears to be the same problem, mine only got stuck after not sending messages to the client for 10 minutes though. Take a look at this KB article, it may help you. Also, in my case it had nothing to do with restarting, so don't let that throw you off, I did exhibit the symptoms in the netstat and messages would initially go through when the client was first started up.

http://support.microsoft.com/kb/2554746