Partager via


Comment : envoyer des messages complexes

Mise à jour : novembre 2007

Si vous pouvez envoyer un message simple en spécifiant celui-ci dans l'argument de la méthode Send, il est également possible de créer explicitement un objet Message plutôt que de laisser la méthode Send partagée en créer et en envoyer un pour vous. Ainsi, vous disposez d'un plus grand contrôle sur vos messages. En manipulant les propriétés de l'objet Message résultant, vous pouvez créer des messages plus complexes et mieux contrôler la gestion appliquée à vos messages.

Lorsque vous créez un message complexe, vous devez d'abord créer une connexion à la file d'attente avec laquelle vous souhaitez communiquer, puis spécifier les données à envoyer. Toutefois, dans le cadre de la spécification des données à envoyer, vous devez créer une instance de la classe Message, définir les propriétés requises et optimiser les mécanismes de remise avant d'envoyer votre message. Comme pour les messages simples, le système rend persistant votre objet Message et l'envoie à la file d'attente spécifiée.

Remarque :

Vous pouvez envoyer plusieurs messages dans une seule transaction à l'aide de l'objet Message. Pour plus d'informations, consultez Traitement transactionnel des messages.

Pour envoyer un message complexe à l'aide de la classe Message

  1. Créez une instance du composant MessageQueue et affectez à sa propriété Path la file d'attente à laquelle vous voulez faire référence. Pour plus d'informations, consultez Comment : créer des instances du composant MessageQueue.

    Remarque :

    Si vous avez créé votre composant à partir de l'Explorateur de serveurs, la propriété Path est définie automatiquement avec le chemin d'accès de cette file d'attente.

  2. Créez une instance de l'objet Message.

  3. Définissez le corps du message et spécifiez des valeurs pour toutes les propriétés dont vous souhaitez modifier les valeurs par défaut.

  4. Utilisez la méthode Send pour envoyer votre objet à la file d'attente.

    Lorsque vous avez terminé, votre code peut se présenter de la manière suivante :

    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);
    

Voir aussi

Tâches

Comment : créer des instances du composant MessageQueue

Comment : envoyer des messages simples

Comment : vérifier des messages au moment du design

Concepts

Traitement transactionnel des messages

Autres ressources

Envoi et sérialisation de messages