Condividi tramite


Introduzione alla lettura e al recupero di messaggi

Aggiornamento: novembre 2007

Per la lettura e il recupero di messaggi è necessario tenere conto di una serie di elementi.

Blocco dell'accesso a una coda

Quando si effettua un'operazione di ricezione, è necessario impedire temporaneamente ad altri utenti di rimuovere i messaggi dalla coda utilizzata. A tale scopo, impostare la proprietà DenySharedReceive della coda su true. L'impostazione di DenySharedReceive impedisce ad altri utenti di rimuovere i messaggi dalla stessa coda finché non se ne indica il rilascio mediante Garbage Collection o mediante la chiamata al metodo Close.

Proprietà da recuperare

I messaggi presentano numerose proprietà e l'applicazione di filtri alle proprietà che si desidera ricevere consente di concentrarsi solo sulle informazioni a cui si è interessati. Se, ad esempio, non si utilizzano messaggi transazionali, è necessario recuperare le proprietà associate alle transazioni. In questo caso, è necessario impostare le proprietà della classe MessagePropertyFilter denominate IsFirstInTransaction , IsLastInTransaction, TransactionId e TransactionStatusQueue su false. L'istanza del componente MessageQueue non recupera alcun valore corrispondente a queste proprietà qualora riceva un messaggio da una coda. Per ulteriori informazioni, vedere Procedura: specificare le proprietà da recuperare con un messaggio.

Specifica del formato per i messaggi ricevuti

Durante la lettura di messaggi da una coda, viene utilizzato un oggetto formattatore per la serializzazione e la deserializzazione del contenuto del messaggio quando quest'ultimo viene modificato. Per impostazione predefinita, un oggetto XmlMessageFormatter viene associato a un'istanza del componente MessageQueue creato ed è possibile utilizzarlo per ricevere messaggi impostandone alcune proprietà necessarie. È inoltre possibile utilizzare altri tipi di oggetti formattatori disponibili. Per ulteriori informazioni sui formattatori disponibili, vedere Serializzazione dei messaggi.

L'oggetto XmlMessageFormatter rende gli oggetti e i tipi di dati primitivi permanenti all'interno e all'esterno dei messaggi mediante stringhe XML leggibili. Per utilizzare questo formattatore per il recupero di un messaggio, impostare una proprietà TargetTypeNames o TargetTypes per indicare la modalità di gestione del messaggio risultante. Se si utilizza un altro oggetto formattatore, le proprietà saranno differenti.

Vedere anche

Attività

Procedura: specificare il formattatore per i messaggi recuperati

Procedura: ricevere messaggi a livello di codice

Procedura: visualizzare i messaggi

Concetti

Elaborazione asincrona dei messaggi

Serializzazione dei messaggi