MessageQueueEnumerator Classe

Définition

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

public ref class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System::Collections::IEnumerator
public class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System.Collections.IEnumerator
type MessageQueueEnumerator = class
    inherit MarshalByRefObject
    interface IEnumerator
    interface IDisposable
Public Class MessageQueueEnumerator
Inherits MarshalByRefObject
Implements IDisposable, 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.

#using <System.dll>
#using <System.Messaging.dll>

using namespace System;
using namespace System::Messaging;

//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
void ListPublicQueues()
{
   
   // Holds the count of private queues.
   int 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: {0}", numberQueues );
   return;
}


//**************************************************
// 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.
//**************************************************
int main()
{
   
   // Output the count of Lowest priority messages.
   ListPublicQueues();
}
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;
        }
    }
}
Imports System.Messaging



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 Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueues()

            Return

        End Sub


        
        ' Iterates through message queues and examines the
        ' path for each queue. Also displays the number of
        ' public queues on the network.
        

        Public Sub ListPublicQueues()

            ' Holds the count of private queues.
            Dim numberQueues As Int32 = 0

            ' Get a cursor into the queues on the network.
            Dim myQueueEnumerator As MessageQueueEnumerator = _
                MessageQueue.GetMessageQueueEnumerator()

            ' Move to the next queue and read its path.
            While myQueueEnumerator.MoveNext()
                ' Increase the count if the priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path)
                numberQueues += 1
            End While

            ' Display final count.
            Console.WriteLine(("Number of public queues: " + _
                numberQueues.ToString()))

            Return

        End Sub

End Class

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 à

Voir aussi