I have been doing some research for using MSMQ. Following 2 gave me fundamental knowledge…
http://msdn.microsoft.com/en-us/library/ms978425.aspx
http://msdn.microsoft.com/en-us/library/ms978430.aspx
I have some questions:
-
I am using active directory and public queue. My queue name is lets say “TestQueue” and it is on box “devserver1”. What would be my path to it? Basically, how to specify the format name for it on both listner app and client machines (same network)?
-
Should i uninstall the active directory and go with private queues?
In this case what would be my format name- on the listner app that will be on the same box
- and applications running on individual users machine within the network or via vpn tunnel?
-
What type of listner app do i need to write, is it a windows
service?- I need to check the queue every 1/2 an hour, what would be the best
way to do it?
- I need to check the queue every 1/2 an hour, what would be the best
-
How to use authentication when checking queue or populating queue so
that i don’t get into permissions issues?
Thanks.
In answer to your questions:
1 & 2 – I have been using MSMQ for over five years and I have never used a public queue. I don’t even really understand what they’re for. In my experience private queues are all you need to accomplish any messaging task.
3 – You can host a listener in any managed hosting container. So a windows service or console app, or even a WPF client would do the job. However, rather than writing you own listener, Microsoft offer one out of the box which ships with WCF. You can define your queue as a service endpoint and expose it across either netMsmqBinding or msmqIntegrationBinding (for interop with non WCF clients).
4 – Each queue has it’s own security settings so you can manage permissions for sending to and receiving from each queue.