Se guardamo molti esempi su MSMQ vediamo che il metodo standard per l'individuazione della coda è la sua label, ad esempio
nome_macchina\private$\nome_coda
oppure per le code pubbliche
nome_macchina\nome_coda
Gli esempi di cui sopra funzionano molto bene sia quando si accede ad una coda locale che quando si accede ad una coda remota in quanto la macchina chiamante effettua una richiesta al dominio (AD) per richiedere delle informazioni sulla coda da raggiungere. Il problema sorge quando l'utente che manda il messaggio non ha i permessi sufficienti per accedere all'AD (es l'utente del processo ASP.NET - NETWORK SERVICE in Windows 2003). Infatti, l'eccezzione che ne deriverà saraà del tipo: "System.Messaging.MessageQueueException: Queue is not registered in the DS"
Si hanno due soluzioni: elevare i diritti del processo chiamante (quello di IIS) oppure usare il formatName. Il primo caso è altamente sconsigliato (potrebbe compromettere la sicurezza di tutta la/e web application). Nel secondo caso basta modificare il nome della coda come:
FormatName:DIRECT=OS:nome_macchina\nome_coda