Lire en anglais

Partager via


MessageQueue.MessageReadPropertyFilter Propriété

Définition

Obtient ou définit le filtre appliqué aux propriétés lors de la réception ou de la lecture de messages.

C#
[System.ComponentModel.Browsable(false)]
[System.Messaging.MessagingDescription("MQ_MessageReadPropertyFilter")]
public System.Messaging.MessagePropertyFilter MessageReadPropertyFilter { get; set; }

Valeur de propriété

MessagePropertyFilter utilisé par la file d'attente pour filtrer les propriétés reçues ou lues pour chaque message.

Attributs

Exceptions

Le filtre est null.

Exemples

L’exemple de code suivant utilise pour MessageReadPropertyFilter restreindre les propriétés de message reçues.

C#
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example retrieves specific groups of Message
        // properties.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Retrieve specific sets of Message properties.
            myNewQueue.RetrieveDefaultProperties();
            myNewQueue.RetrieveAllProperties();
            myNewQueue.RetrieveSelectedProperties();

            return;
        }

        //**************************************************
        // Retrieves the default properties for a Message.
        //**************************************************
        
        public void RetrieveDefaultProperties()
        {

            // Connect to a message queue.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Specify to retrieve the default properties only.
            myQueue.MessageReadPropertyFilter.SetDefaults();

            // Set the formatter for the Message.
            myQueue.Formatter = new XmlMessageFormatter(new Type[]
                {typeof(String)});

            // Receive the first message in the queue.
            Message myMessage = myQueue.Receive();

            // Display selected properties.
            Console.WriteLine("Label: " + myMessage.Label);
            Console.WriteLine("Body: " + (String)myMessage.Body);
    
            return;
        }

        //**************************************************
        // Retrieves all properties for a Message.
        //**************************************************
        
        public void RetrieveAllProperties()
        {

            // Connect to a message queue.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Specify to retrieve all properties.
            myQueue.MessageReadPropertyFilter.SetAll();

            // Set the formatter for the Message.
            myQueue.Formatter = new XmlMessageFormatter(new Type[]
                {typeof(String)});

            // Receive the first message in the queue.
            Message myMessage = myQueue.Receive();

            // Display selected properties.
            Console.WriteLine("Encryption algorithm: " +
                myMessage.EncryptionAlgorithm.ToString());
            Console.WriteLine("Body: " + (String)myMessage.Body);
    
            return;
        }

        //**************************************************
        // Retrieves application-specific properties for a
        // Message.
        //**************************************************
        
        public void RetrieveSelectedProperties()
        {
            // Connect to a message queue.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Specify to retrieve selected properties.
            MessagePropertyFilter myFilter = new
                MessagePropertyFilter();
            myFilter.ClearAll();
            // The following list is a random subset of available properties.
            myFilter.Body = true;
            myFilter.Label = true;
            myFilter.MessageType = true;
            myFilter.Priority = true;
            myQueue.MessageReadPropertyFilter = myFilter;

            // Set the formatter for the Message.
            myQueue.Formatter = new XmlMessageFormatter(new Type[]
                {typeof(String)});

            // Receive the first message in the queue.
            Message myMessage = myQueue.Receive();

            // Display selected properties.
            Console.WriteLine("Message type: " +
                myMessage.MessageType.ToString());
            Console.WriteLine("Priority: " +
                myMessage.Priority.ToString());
    
            return;
            }
    }
}

Remarques

Ce filtre est un ensemble de valeurs booléennes qui limitent les propriétés de message que le MessageQueue reçoit ou affiche. Lorsque le MessageQueue reçoit ou passe un aperçu d’un message de la file d’attente du serveur, il récupère uniquement les propriétés pour lesquelles la MessageReadPropertyFilter valeur est true.

Voici les valeurs de propriété initiales pour la MessageReadPropertyFilter propriété . Ces paramètres sont identiques à l’appel SetDefaults sur un MessagePropertyFilter.

Le tableau suivant indique si cette propriété est disponible dans différents modes de groupe de travail.

Mode groupe de travail Disponible
Ordinateur local Oui
Ordinateur local et nom de format direct Oui
Ordinateur distant Oui
Ordinateur distant et nom de format direct Oui

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Voir aussi