I am now clear about the outgoing queues. They are just message holders. When I send message from svrClient to svrDomainController, the outgoing queues hold the message first and then attempt to send it.
But I am not too sure about the difference between private and public queues, except that public queues can be registered in AD. In my situation what should I do. Should I create public queues in the domain controller. Do I need to create queues in svrClient? Which queue should I create in the svrClient?
Secondly, my svrJob server is going to fetch the messages from svrDomainController. So what difference it makes if I create public or private queues in the domain controller.





by: Cormac-WoodsPosted on 2009-08-19 at 12:57:39ID: 25136695
Outgoing queues are created on the client machine. These hold messages
ename)
om/en-us/l ibrary/ cc7 78392(WS.1 0).aspx for queue naming conventions
outbound from the server. In your case these would be created
dynamically by the svrClient application. Since message queuing is
asynchronous the application must have somewhere to store the
message.(e.g. if the target queue is not available) The application is
not really aware of the outgoing queue. the application writes to the
destination queue on svrDomainController.
Private queues are queues that are not registered in Active Directory.
To reference a private queue you need to specify the Server name and
queuename (e.g. DIRECT=OS:private$\svrqueu
see http://technet.microsoft.c
Public queues are registered in the directory service (Active Directory) and MSMQ queries the directory service to find the host that is currently hosting the queue. A public queue is typically referenced by a name like PUBLIC=QueueGUID.
Although private queues are not registered in Active directory you can still control access through Active Directory
In your situation I would create a private queue on the domain controller. Please note that full access is only granted to the user who creates the queue so you may have to modify security after creation to allow the client to access it. Public queues may be more appropriate in your case but I don't have much experience with them so can't advise you.
Hope this helps
You don't need to create an outgoing queue, MSMQ does this on the client server when the client attempts to write to the server