Lire en anglais

Partager via


MessageQueueEnumerator Classe

Définition

Fournit un curseur avant uniquement pour énumérer les messages dans une file d’attente de messages.

C#
public class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System.Collections.IEnumerator
Héritage
MessageQueueEnumerator
Implémente

Exemples

L’exemple de code suivant effectue une itération dans toutes les files d’attente de messages dans le réseau et examine le chemin d’accès de chaque file d’attente. Enfin, il affiche le nombre de files d’attente publiques sur le réseau.

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 uses a cursor to step through the
        // message queues and list the public queues on the
        // network.
        //**************************************************

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

            // Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueues();
                        
            return;
        }

        //**************************************************
        // Iterates through message queues and examines the
        // path for each queue. Also displays the number of
        // public queues on the network.
        //**************************************************
        
        public void ListPublicQueues()
        {
            // Holds the count of private queues.
            uint numberQueues = 0;
    
            // Get a cursor into the queues on the network.
            MessageQueueEnumerator myQueueEnumerator =
                MessageQueue.GetMessageQueueEnumerator();

            // Move to the next queue and read its path.
            while(myQueueEnumerator.MoveNext())
            {
                // Increase the count if priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path);
                numberQueues++;
            }

            // Display final count.
            Console.WriteLine("Number of public queues: " +
                numberQueues.ToString());
            
            return;
        }
    }
}

Remarques

Utilisez pour une MessageQueueEnumerator interaction dynamique avec les files d’attente sur le réseau. Les méthodes disponibles via la MessageQueue classe peuvent retourner un MessageQueueEnumerator contenant une liste dynamique de files d’attente ou un tableau qui contient un instantané de la collection de files d’attente au moment où la méthode spécifiée a été appelée.

Il n’existe aucun ordre défini des files d’attente dans un réseau. Ils ne sont pas classés, par exemple, par ordinateur, par étiquette, par status public ou privé, ou par d’autres critères accessibles à l’utilisateur. Un MessageQueueEnumerator est un curseur initialisé en tête d’une liste dynamique. Vous pouvez déplacer le curseur vers la première file d’attente de l’énumération en appelant MoveNext. Une fois l’énumérateur initialisé, vous pouvez utiliser MoveNext pour avancer dans les files d’attente restantes.

Il n’est pas possible de revenir en arrière avec un MessageQueueEnumerator. Un curseur autorise uniquement le déplacement vers l’avant dans l’énumération de file d’attente. Toutefois, vous pouvez appeler Reset pour réinitialiser l’énumération et replacer le curseur au début de la liste. Étant donné que l’énumérateur est dynamique, une file d’attente ajoutée au-delà de la position actuelle du curseur est accessible par l’énumérateur. Impossible d’accéder à une file d’attente insérée avant la position actuelle du curseur sans appeler réinitialiser au préalable.

Propriétés

Current

Obtient l'objet MessageQueue en cours de l'énumération.

LocatorHandle

Obtient le handle Message Queuing natif utilisé pour rechercher les files d'attente dans un réseau.

Méthodes

Close()

Libère les ressources associées à l'énumérateur.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par MessageQueueEnumerator.

Dispose(Boolean)

Libère les ressources non managées utilisées par MessageQueueEnumerator et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Libère les ressources détenues par la file d'attente.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
MoveNext()

Avance l'énumérateur jusqu'à la file d'attente suivante de l'énumération, s'il y en a une de disponible.

Reset()

Rétablit le curseur, de manière qu'il pointe vers le début de l'énumération.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IEnumerator.Current

Obtient l'objet MessageQueue en cours de l'énumération.

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