Code di Accodamento messaggi
In questa sezione viene illustrato come specificare le code di Accodamento messaggi Microsoft (noto anche come MSMQ, Microsoft Message Queuing) quando si utilizza l'adapter MSMQ. Vengono descritte le convenzioni per specificare i percorsi e viene illustrato il ruolo dei nomi di formato nella conversione dei percorsi in designazioni di coda.
Convenzioni di denominazione dei percorsi di coda
Se il nome della coda fa riferimento a un percorso, utilizzare le convenzioni di denominazione riportate nella tabella seguente.
Tipo di coda | Sintassi del percorso |
---|---|
Coda pubblica | Nomecomputer\QueueName |
Coda privata | Nomecomputer\Private$\QueueName |
Coda del diario | Nomecomputer\QueueName\Journal$ |
Nota coda journal computer : usare solo per la coda di ricezione. | Computername\Journal$ |
Nota coda messaggi non recapitabili del computer : usare solo per la coda di ricezione. | Nomecomputer\Deadletter$ |
Nota coda messaggi non recapitabili della transazione computer : usare solo per la coda di ricezione. | Computername\XactDeadletter$ |
Nota
Il percorso della coda deve essere univoco.
Se il nome della coda fa riferimento a un nome di formato, verrà visualizzato sotto forma di stringa che indica se una coda è pubblica o privata, seguita da un GUID generato per la coda e da altri identificatori, in base alla necessità. Utilizzare le convenzioni di denominazione riportate nella tabella seguente.
Tipo di formato | Sintassi del nome di formato |
---|---|
Pubblici | FormatName:P ublic=QueueGUID |
Connessione diretta | FormatName:D IRECT=SPX:NetworkNumber:HostNumber\QueueName FormatName: DIRECT=TCP:IPAddress\QueueName FormatName: DIRECT=OS:ComputerName\QueueName |
Se il percorso della coda della porta di trasmissione è un elenco di distribuzione, la sintassi del percorso della coda sarà la seguente:
DL=GUIDElencoDistribuzione
Se il percorso della coda di trasmissione o di ricezione è un URL HTTP o HTTPS, la sintassi sarà la seguente:
FormatName:DIRECT=http://<nome> client/msmq/<nome coda>
FormatName:DIRECT=https://<nome> client/msmq/<nome coda>
Nota
"msmq" è la cartella virtuale creata da Accodamento messaggi in Internet Information Services (IIS).
Nota
È possibile utilizzare HTTP solo per inviare messaggi. Non è possibile leggere messaggi in una coda in un computer remoto se la coda viene aperta utilizzando un nome di formato diretto HTTP. È tuttavia possibile ricevere comunque messaggi con formattazione SOAP da una coda remota, utilizzando il percorso di coda privata o pubblica senza HTTP.
Se il nome della coda fa riferimento a un'etichetta di testo descrittiva specificata dall'amministratore per la coda, la sintassi del percorso della coda che fa riferimento a questa etichetta sarà la seguente:
LABEL:MyQueue
Nota
Le etichette non sono sempre univoche. Verrà pertanto visualizzato un errore in caso di conflitto di nome quando si tenta di connettersi a una coda specifica utilizzando la rispettiva etichetta.
Nota
L'etichetta è un campo di trasporto obbligatorio per l'adapter.
Ruolo del nome di formato
Accodamento messaggi utilizza il nome di formato per identificare una coda e per determinare come accedere a tale coda. Il nome di formato viene assegnato alla coda da Accodamento messaggi.
Quando si specifica una coda utilizzando la sintassi del nome del percorso, ad esempio myMachine\myQueue, Accodamento messaggi verifica il percorso per trovare il nome di formato associato, che viene poi utilizzato da Accodamento messaggi per accedere alla coda. Quando si specifica il nome di formato, Accodamento messaggi utilizza il nome di formato specificato.
Per ulteriori informazioni sui nomi di formato, vedere "Proprietà MessageQueue.FormatName" nella Guida della libreria di classi .NET Framework.
Risoluzione dei problemi relativi ai percorsi delle code
Se la sintassi del percorso specificato per la coda non corrisponde a uno dei formati descritti in precedenza in "Convenzioni di denominazione dei percorsi di coda", verrà generata un'eccezione.
Di seguito sono riportati i caratteri non validi per i nomi di computer nel percorso della coda:
\ ; , + "
Se il nome computer è un numero, verrà generata un'eccezione. Ad esempio: 234\private$\queue.
Per una coda messaggi non recapitabili del computer, una coda del diario del computer e una coda messaggi non recapitabili delle transazioni del computer, verrà generata un'eccezione se l'utente specifica una delle code di sistema come coda di destinazione per la trasmissione.
System.Messaging.MessageQueue.Exists non funziona per le code remote. Per ulteriori informazioni, vedere "Metodo MessageQueue.Exists" nella Guida della libreria di classi .NET Framework.