We are using Queue for few of are WCF services. We are using NetMSMQ binding for the WCF services which use Private MSMQ. The system works OK on our QA environment. I am not sure of any real difference between and private or public queue. The client application are on seperate machine still are able to access Private queue of the WCF service on other box. I am not sure if this is the right thing to do. are there any security related differences between private and public MSMQ. Can someone put some light on when to use Private or Public MSMQ.
The info you need is well hidden (as per usual), but it can be found here:
http://msdn.microsoft.com/en-us/library/ms706878(VS.85).aspx
It's pretty much down to your deployment, your level of Active Directory integration and your distribution requirement for the queues. If it's WCF, I assume the queue is being exposed via IIS/WPAS which would abstract the queue away from the application so it may be less relevant in that mode and local queues are sufficient.
Having to work with an application that is heavy on using public MSMQs, I'd stick with private queues. The primary advantage is that you won't be tied to the active directory. I've had many times where changes made to a local MQ wouldn't replicate to the AD, so I had to have an server admin log into the domain controller and delete the queue for me so I could recreate it and make sure all the settings were correct.
Here is an article from Microsoft going into some of the differences.
http://technet.microsoft.com/ja-jp/library/cc753440%28WS.10%29.aspx