Comment : spécifier le formateur pour les messages récupérés
Mise à jour : novembre 2007
Vous devez indiquer l'objet formatter que vous souhaitez utiliser pour récupérer un message d'une file d'attente. Un formateur indique le type de désérialisation appliqué au message lorsqu'il est retiré de la file d'attente. Selon le type de formateur utilisé, vous devez parfois définir des propriétés supplémentaires pour spécifier comment le formateur doit procéder.
Par défaut, vous utilisez l'objet XmlMessageFormatter pour la plupart des opérations. Pour plus d'informations sur les formateurs disponibles, consultez Sérialisation de messages. Pour plus d'informations sur les propriétés spécifiques à l'objet XmlMessageFormatter, consultez Introduction à la lecture et à la récupération de messages.
Vous pouvez spécifier le formateur dans le code ou dans la fenêtre Propriétés. En outre, vous pouvez configurer le formateur sur la file d'attente ou sur le message. Configurez-le sur la file d'attente lorsque vous prévoyez d'accéder directement aux messages de la file d'attente, comme dans le code suivant :
Console.WriteLine(CStr(MessageQueue1.Receive().Body))
Console.WriteLine(MessageQueue1.Receive().Body.ToString());
Configurez-le sur le message lorsque vous prévoyez de récupérer le contenu d'une file d'attente via l'objet message :
Message1 = MessageQueue1.Receive()
message1 = messageQueue1.Receive();
Pour spécifier le formateur dans la fenêtre Propriétés
Créez et configurez votre instance du composant MessageQueue. Pour plus d'informations, consultez Comment : créer des instances du composant MessageQueue.
Dans le concepteur, cliquez sur l'instance MessageQueue, puis accédez à la fenêtre Propriétés.
Affectez la valeur appropriée à la propriété Formatter.
Si vous choisissez l'objet XmlMessageFormatter ou l'objet BinaryMessageFormatter, développez la propriété et définissez les sous-propriétés requises pour configurer votre formateur.
Pour spécifier le formateur par programme
Créez et configurez votre instance du composant MessageQueue. Pour plus d'informations, consultez Comment : créer des instances du composant MessageQueue.
Dans l'éditeur de code, créez un objet formatter de type XmlMessageFormatter, ActiveXMessageFormatter ou BinaryMessageFormatter.
Définissez toutes les propriétés nécessaires pour le formateur.
Récupérez votre message.
Par exemple, le code suivant montre comment créer et configurer un composant qui utilise l'objet XmlMessageFormatter pour récupérer un message d'une file d'attente publique nommée MyQueue.
Dim mq As New System.Messaging.MessageQueue(".\MyQueue") Dim formatter As System.Messaging.XmlMessageFormatter = _ CType(mq.Formatter, System.Messaging.XmlMessageFormatter) formatter.TargetTypeNames = New String() {"System.String"} Dim m As System.Messaging.Message = mq.Receive(New TimeSpan(0, 0, 3))
System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(".\\MyQueue"); string[] types = { "System.String" }; ((System.Messaging.XmlMessageFormatter)mq.Formatter).TargetTypeNames = types; System.Messaging.Message m = mq.Receive(new TimeSpan(0, 0, 3));
Voir aussi
Tâches
Comment : recevoir des messages par programme