Condividi tramite


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

  1. 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.

  2. Creare un'istanza dell'oggetto Message.

  3. Impostare il corpo del messaggio e specificare le proprietà di cui si desidera modificare i valori predefiniti.

  4. 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

Altre risorse

Invio e serializzazione di messaggi