Comparteix a través de


MessageQueue.GetMessageQueueEnumerator Método

Definición

Crea un objeto enumerador para una lista dinámica de las colas públicas de la red.

Sobrecargas

GetMessageQueueEnumerator()

Proporciona el funcionamiento de un cursor de solo avance para enumerar todas las colas públicas de la red.

GetMessageQueueEnumerator(MessageQueueCriteria)

Proporciona el funcionamiento de un cursor de solo avance para enumerar todas las colas públicas de la red que cumplan los criterios especificados.

GetMessageQueueEnumerator()

Proporciona el funcionamiento de un cursor de solo avance para enumerar todas las colas públicas de la red.

public:
 static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator();
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator ();
static member GetMessageQueueEnumerator : unit -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator () As MessageQueueEnumerator

Devoluciones

MessageQueueEnumerator que proporciona una lista dinámica de todas las colas de mensajes públicas de la red.

Ejemplos

El siguiente ejemplo de código recorre en iteración todas las colas de mensajes de la red y examina la ruta de acceso de cada cola. Por último, muestra el número de colas públicas en la red.

#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

Comentarios

Esta sobrecarga de GetMessageQueueEnumerator devuelve una enumeración de todas las colas públicas que están en la red.

Dado que el cursor está asociado a una lista dinámica, la enumeración refleja cualquier modificación que realice en una lista de colas para las colas eliminadas o agregadas más allá de la posición actual del cursor. Las adiciones o eliminación de colas ubicadas antes de la posición actual del cursor no se reflejan. Por ejemplo, el enumerador puede acceder automáticamente a una cola anexada más allá de la posición del cursor, pero no a una insertada antes de esa posición. Sin embargo, puede restablecer la enumeración, moviendo el cursor de nuevo al principio de la lista llamando Reset a para .MessageQueueEnumerator

No hay ninguna ordenación definida de las colas en una red. Un enumerador no los ordena, por ejemplo, por equipo, etiqueta, estado público o privado, ni ningún otro criterio accesible.

Si desea una instantánea estática de las colas de la red en lugar de una conexión dinámica a ellas, llame a GetPublicQueues o GetPrivateQueuesByMachine(String). Cada uno de estos dos métodos devuelve una matriz de MessageQueue objetos , que representa las colas en el momento en que se llamó al método .

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local No
Equipo local y nombre de formato directo No
Equipo remoto No
Equipo remoto y nombre de formato directo No

Consulte también

Se aplica a

GetMessageQueueEnumerator(MessageQueueCriteria)

Proporciona el funcionamiento de un cursor de solo avance para enumerar todas las colas públicas de la red que cumplan los criterios especificados.

public:
 static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator(System::Messaging::MessageQueueCriteria ^ criteria);
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator (System.Messaging.MessageQueueCriteria criteria);
static member GetMessageQueueEnumerator : System.Messaging.MessageQueueCriteria -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator (criteria As MessageQueueCriteria) As MessageQueueEnumerator

Parámetros

criteria
MessageQueueCriteria

MessageQueueCriteria que contiene los criterios utilizados para filtrar las colas de mensajes disponibles.

Devoluciones

MessageQueueEnumerator que proporciona una lista dinámica de las colas de mensajes públicas de la red que cumplan las restricciones especificadas por el parámetro criteria.

Ejemplos

El siguiente ejemplo de código recorre en iteración las colas de mensajes y muestra la ruta de acceso de cada cola que se creó en el último día y que existe en el equipo "MyComputer".

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:

   // Iterates through message queues and displays the
   // path of each queue that was created in the last
   // day and that exists on the computer "MyComputer". 
   void ListPublicQueuesByCriteria()
   {
      UInt32 numberQueues = 0;
      
      // Specify the criteria to filter by.
      MessageQueueCriteria^ myCriteria = gcnew MessageQueueCriteria;
      myCriteria->MachineName = "MyComputer";
      myCriteria->CreatedAfter = DateTime::Now.Subtract( TimeSpan(1,0,0,0) );
      
      // Get a cursor into the queues on the network.
      MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator( myCriteria );
      
      // 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++;
      }

      
      // Handle no queues matching the criteria.
      if ( numberQueues == 0 )
      {
         Console::WriteLine( "No public queues match criteria." );
      }

      return;
   }

};

int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   
   // Output the count of Lowest priority messages.
   myNewQueue->ListPublicQueuesByCriteria();
   return 0;
}
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 that specify certain criteria.
        //**************************************************

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

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

        //**************************************************
        // Iterates through message queues and displays the
        // path of each queue that was created in the last
        // day and that exists on the computer "MyComputer".
        //**************************************************
        
        public void ListPublicQueuesByCriteria()
        {
            uint numberQueues = 0;
            
            // Specify the criteria to filter by.
            MessageQueueCriteria myCriteria = new
                MessageQueueCriteria();
            myCriteria.MachineName = "MyComputer";
            myCriteria.CreatedAfter = DateTime.Now.Subtract(new
                TimeSpan(1,0,0,0));

            // Get a cursor into the queues on the network.
            MessageQueueEnumerator myQueueEnumerator =
                MessageQueue.GetMessageQueueEnumerator(myCriteria);

            // 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++;
            }

            // Handle no queues matching the criteria.
            if (numberQueues == 0)
            {
                Console.WriteLine("No public queues match criteria.");
            }

            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 that specify certain criteria.
        

        Public Shared Sub Main()

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

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

            Return

        End Sub


        
        ' Iterates through message queues and displays the
        ' path of each queue that was created in the last
        ' day and that exists on the computer "MyComputer". 
        

        Public Sub ListPublicQueuesByCriteria()

            Dim numberQueues As Int32 = 0

            ' Specify the criteria to filter by.
            Dim myCriteria As New MessageQueueCriteria()
            myCriteria.MachineName = "MyComputer"
            myCriteria.CreatedAfter = DateTime.Now.Subtract(New _
                TimeSpan(1, 0, 0, 0))


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

            ' 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

            ' Handle no queues matching the criteria.
            If numberQueues = 0 Then
                Console.WriteLine("No queues match the criteria.")
            End If

            Return

        End Sub

End Class

Comentarios

Esta sobrecarga de GetMessageQueueEnumerator devuelve una lista de todas las colas públicas de la red que cumplen los criterios definidos en los criterios de la aplicación. Puede especificar los criterios que se van a incluir, por ejemplo, la hora de creación o modificación de la cola, el nombre del equipo, la etiqueta, la categoría o cualquier combinación de estos.

Dado que el cursor está asociado a una lista dinámica, la enumeración refleja cualquier modificación que realice en una cola que se produzca más allá de la posición actual del cursor. Los cambios en las colas ubicadas antes de la posición actual del cursor no se reflejan. Por ejemplo, el enumerador puede acceder automáticamente a una cola anexada más allá de la posición del cursor, pero no a una insertada antes de esa posición. Sin embargo, puede restablecer la enumeración, moviendo el cursor de nuevo al principio de la lista llamando Reset a para .MessageQueueEnumerator

No hay ninguna ordenación definida de las colas en una red. Un enumerador no los ordena, por ejemplo, por equipo, etiqueta, estado público o privado, ni ningún otro criterio accesible.

Si desea una instantánea estática de las colas de la red en lugar de una conexión dinámica a ellas, especifique criterios para GetPublicQueues o llame a GetPrivateQueuesByMachine(String). Cada uno de estos dos métodos devuelve una matriz de MessageQueue objetos , que representa las colas en el momento en que se llamó al método . Llamar a GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)o GetPublicQueuesByMachine(String) proporciona los mismos resultados que llamar a GetPublicQueues con los criterios de filtrado de Category, Labely MachineName, respectivamente.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local No
Equipo local y nombre de formato directo No
Equipo remoto No
Equipo remoto y nombre de formato directo No

Consulte también

Se aplica a