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