Procedura: inviare messaggi complessi
Aggiornamento: novembre 2007
Oltre a inviare un messaggio semplice specificandolo nell'argomento del metodo Send, è possibile ottenere un maggiore controllo sui messaggi creando un oggetto Message in modo esplicito, anziché utilizzare il metodo Send condiviso per la creazione e l'invio automatici del messaggio. Modificando le proprietà dell'oggetto Message risultante, è possibile creare messaggi più complessi e disporre di un maggiore controllo sulla modalità di gestione dei messaggi.
Quando si invia un messaggio complesso, è necessario prima creare una connessione alla coda con cui si desidera comunicare, quindi specificare i dati da inviare. Durante la specifica dei dati da inviare, è tuttavia necessario creare un'istanza della classe Message, impostare le proprietà necessarie e ottimizzare i meccanismi di consegna prima dell'invio del messaggio. Come con i messaggi semplici, l'oggetto messaggio viene conservato nel sistema e inviato alla coda specificata.
Nota: |
---|
L'utilizzo dell'oggetto Message consente di inviare messaggi come parte di una transazione. Per ulteriori informazioni, vedere Elaborazione transazionale dei messaggi. |
Per inviare un messaggio complesso mediante la classe Message
Creare un'istanza del componente MessageQueue e impostarne la proprietà Path sulla coda a cui si desidera fare riferimento. Per ulteriori informazioni, vedere Procedura: creare istanze del componente MessageQueue.
Nota: Se il componente è stato creato da Esplora server, la proprietà Path viene impostata automaticamente sul percorso della coda.
Creare un'istanza dell'oggetto Message.
Impostare il corpo del messaggio e specificare le proprietà di cui si desidera modificare i valori predefiniti.
Utilizzare il metodo Send per inviare l'oggetto alla coda.
Al termine, il codice potrebbe essere analogo al seguente:
Dim MessageQueue1 As New System.Messaging.MessageQueue(".\YourQueue") Dim newMessage As New System.Messaging.Message("Hello again") newMessage.Label = "This is the label." MessageQueue1.Send(newMessage)
System.Messaging.MessageQueue myMQ1 = new System.Messaging.MessageQueue(@".\YourQueue"); System.Messaging.Message newMessage = new System.Messaging.Message("Hello again"); newMessage.Label = "This is the label"; myMQ1.Send(newMessage);
Vedere anche
Attività
Procedura: creare istanze del componente MessageQueue
Procedura: inviare messaggi semplici
Procedura: verificare i messaggi in fase di progettazione
Concetti
Elaborazione transazionale dei messaggi