Featured Post

Geek Dinner with Sara Ford in Hattiesburg Feb 4th

Monday February 4th, 2008, we will be having a geek dinner in Hattiesburg, Ms with special guest Sara Ford from Microsoft.  Sara is the Program Manager for Codeplex.Com which serves as a hosting ground for open source projects.  Sara is originally from Mississippi so we are glad to have her back in...

Read More


Fix For WCF NetMsmqBinding Not Picking Up Messages in Queue

Posted by Keith Elder | Posted in .Net, WCF, Web Services | Posted on 03-06-2009

Here’s the problem.  When hosting WCF services using the NetMsmqBinding in IIS7/WAS (Windows Activation Service) the application times out after 20 minutes.  While this isn’t the problem and is the default behavior in IIS it leads to the problem.  When the application is timed out, if a new message arrives in the queue, the WCF service remains idle.  In other words messages will just pile up in the queue (not good!). 

After contacting support about this issue I finally got back some information on how to address this issue so I’m posting it in case someone else runs into this issue.  Here is what you should do if you run into this problem.

  1. Ensure that the queue is named as virtual directory/serviceName.svc.  So if your application is at http://localhost/myTest/myTest.svc, the queue name should be myTest/myTest.svc.  We also should ensure that the WCF endpoint address reflects this queue name
  2. Both the IIS worker process (App Pool) and the Net.Msmq Listener service should use the same account, this account must also have Peek and Receive rights on the queue (but it’s better to just give it full control).  You can verify the account used by your web service by checking the account used by w3wp.exe in task manager
  3. Ensure that the Net.Msmq listener is running using an unrestricted token, the following command should work “sc sidtype netmsmqactivator unrestricted”
  4. Add a DWORD called “AllowNonauthenticatedRpc” to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\security, and set it to 1

Hope this helps someone, and if I find any other information, I’ll keep this updated.

  • http://www.geeks.ltd.uk/Services.html Anonymous

    Quite inspiring,

    It worked thanks puting a post on it

    Thanks