MessageQueueEnumerator Classe

Définition

Fournit un curseur avant uniquement pour énumérer les messages dans une file d’attente de messages.Provides a forward-only cursor to enumerate through messages in a message queue.

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 itère au sein de toutes les files d’attente de messages du réseau, puis examine le chemin d’accès pour chaque file d’attente.The following code example iterates through all the message queues in the network, and examines the path for each queue. Enfin, il affiche le nombre de files d’attente publiques sur le réseau.Finally, it displays the number of public queues on the network.

#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 MessageQueueEnumerator pour une interaction dynamique avec les files d’attente sur le réseau.Use MessageQueueEnumerator for dynamic interaction with queues on the network. Les méthodes disponibles par l’intermédiaire de la classe MessageQueue peuvent retourner une 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 de l’appel de la méthode spécifiée.Methods available through the MessageQueue class can return either a MessageQueueEnumerator containing a dynamic list of queues, or an array that contains a snapshot of the queue collection at the time the specified method was called.

Il n’existe pas de classement défini des files d’attente dans un réseau.There is no defined ordering of queues in a network. Ils ne sont pas triés, par exemple, par ordinateur, étiquette, État public ou privé, ou d’autres critères accessibles par l’utilisateur.They are not ordered, for example, by computer, label, public or private status, or other user-accessible criteria. Un MessageQueueEnumerator est un curseur, initialisé en tête d’une liste dynamique.A MessageQueueEnumerator is a cursor, initialized to the head of a dynamic list. Vous pouvez déplacer le curseur vers la première file d’attente de l’énumération en appelant MoveNext.You can move the cursor to the first queue of the enumeration by calling MoveNext. Une fois l’énumérateur initialisé, vous pouvez utiliser MoveNext pour effectuer un pas à pas détaillé dans les files d’attente restantes.After the enumerator has been initialized, you can use MoveNext to step forward through the remaining queues.

Il n’est pas possible d’effectuer un pas à pas détaillé avec un MessageQueueEnumerator.It is not possible to step backward with a MessageQueueEnumerator. Un curseur autorise uniquement le déplacement vers l’avant via l’énumération de file d’attente.A cursor only allows forward movement through the queue enumeration. Toutefois, vous pouvez appeler Reset pour réinitialiser l’énumération et mettre à nouveau le curseur au début de la liste.However, you can call Reset to reset the enumeration and put the cursor at the beginning of the list again. É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.Because the enumerator is dynamic, a queue that is appended beyond the cursor's current position can be accessed by the enumerator. Impossible d’accéder à une file d’attente insérée avant la position actuelle du curseur sans appel préalable de la réinitialisation.A queue that is inserted before the cursor's current position cannot be accessed without first calling Reset.

Propriétés

Current

Obtient l'objet MessageQueue en cours de l'énumération.Gets the current MessageQueue of the enumeration.

LocatorHandle

Obtient le handle Message Queuing natif utilisé pour rechercher les files d'attente dans un réseau.Gets the native Message Queuing handle used to locate queues in a network.

Méthodes

Close()

Libère les ressources associées à l'énumérateur.Frees the resources associated with the enumerator.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par MessageQueueEnumerator.Releases all resources used by the MessageQueueEnumerator.

Dispose(Boolean)

Libère les ressources non managées utilisées par MessageQueueEnumerator et libère éventuellement les ressources managées.Releases the unmanaged resources used by the MessageQueueEnumerator and optionally releases the managed resources.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
Finalize()

Libère les ressources détenues par la file d'attente.Releases the resources held by the queue.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

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.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(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.Advances the enumerator to the next queue of the enumeration, if one is currently available.

Reset()

Rétablit le curseur, de manière qu'il pointe vers le début de l'énumération.Resets the cursor, so it points to the beginning of the enumeration.

ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

IEnumerator.Current

Obtient l'objet MessageQueue en cours de l'énumération.Gets the current MessageQueue of the enumeration.

S’applique à

Voir aussi