Condividi tramite


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.

Vedere anche

Configurazione dell'adapter MSMQ