MessageQueue.GetMessageQueueEnumerator Metódus

Definíció

Enumerátorobjektumot hoz létre a hálózaton lévő nyilvános üzenetsorok dinamikus listájához.

Túlterhelések

Name Description
GetMessageQueueEnumerator()

Csak előre mutató szemantikát biztosít a hálózaton lévő összes nyilvános üzenetsor számbavételéhez.

GetMessageQueueEnumerator(MessageQueueCriteria)

Csak előre mutató szemantikát biztosít a megadott feltételeknek megfelelő nyilvános üzenetsorok számbavételéhez a hálózaton.

GetMessageQueueEnumerator()

Csak előre mutató szemantikát biztosít a hálózaton lévő összes nyilvános üzenetsor számbavételéhez.

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

Válaszok

A MessageQueueEnumerator hálózat összes nyilvános üzenetsorának dinamikus felsorolását biztosítja.

Példák

Az alábbi példakód végigfut a hálózat összes üzenetsorán, és megvizsgálja az egyes üzenetsorok elérési útját. Végül megjeleníti a nyilvános üzenetsorok számát a hálózaton.

#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

Megjegyzések

Ez a GetMessageQueueEnumerator túlterhelés a hálózaton lévő összes nyilvános üzenetsor enumerálását adja vissza.

Mivel a kurzor egy dinamikus listaelemhez van társítva, az enumerálás a kurzor aktuális pozícióján túl törölt vagy hozzáadott üzenetsorok üzenetsorlistáján végrehajtott módosításokat tükrözi. A kurzor aktuális pozíciója előtt található üzenetsorok hozzáadása vagy törlése nem jelenik meg. Az enumerátor például automatikusan hozzáférhet egy, a kurzor pozícióján túlra fűzött üzenetsorhoz, de a pozíció előtt beszúrt üzenetsorhoz nem. Az enumerálást azonban alaphelyzetbe állíthatja, így a kurzort visszateheti a lista elejére a következő meghívásával : .>

A hálózaton nincsenek meghatározott sorrendben az üzenetsorok. Az enumerátorok nem rendelik meg őket, például számítógép, címke, nyilvános vagy privát állapot, vagy bármilyen más akadálymentes feltétel alapján.

Ha statikus pillanatképet szeretne készíteni a hálózaton lévő üzenetsorokról a dinamikus kapcsolat helyett, hívja vagy GetPublicQueues.GetPrivateQueuesByMachine(String) A két metódus mindegyike egy objektumtömböt MessageQueue ad vissza, amely a metódus meghívásakor az üzenetsorokat jelöli.

Az alábbi táblázat azt mutatja be, hogy ez a módszer elérhető-e különböző munkacsoport-módban.

Munkacsoport mód Elérhető
Helyi számítógép No
Helyi számítógép és közvetlen formátum neve No
Távoli számítógép No
Távoli számítógép és közvetlen formátum neve No

Lásd még

A következőre érvényes:

GetMessageQueueEnumerator(MessageQueueCriteria)

Csak előre mutató szemantikát biztosít a megadott feltételeknek megfelelő nyilvános üzenetsorok számbavételéhez a hálózaton.

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

Paraméterek

criteria
MessageQueueCriteria

A MessageQueueCriteria rendelkezésre álló üzenetsorok szűréséhez használt feltételeket tartalmazó feltétel.

Válaszok

A MessageQueueEnumerator nyilvános üzenetsorok dinamikus felsorolását biztosítja a hálózaton, amelyek megfelelnek a criteria paraméter által megadott korlátozásoknak.

Példák

Az alábbi példakód végigfut az üzenetsorokon, és megjeleníti az utolsó napon létrehozott és a "MyComputer" számítógépen található üzenetsorok elérési útját.

#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

Megjegyzések

Ez a GetMessageQueueEnumerator túlterhelés a hálózaton lévő összes nyilvános üzenetsor listáját adja vissza, amely megfelel az alkalmazásfeltételekben meghatározott feltételeknek. Megadhatja például az üzenetsor létrehozásának vagy módosításának idejét, a számítógép nevét, címkéjét, kategóriáját vagy ezek kombinációját.

Mivel a kurzor dinamikus listaelemhez van társítva, az enumerálás a kurzor aktuális pozícióján túlmutató üzenetsoron végrehajtott módosításokat tükrözi. A kurzor aktuális pozíciója előtt található üzenetsorok módosításai nem jelennek meg. Az enumerátor például automatikusan hozzáférhet egy, a kurzor pozícióján túlra fűzött üzenetsorhoz, de a pozíció előtt beszúrt üzenetsorhoz nem. Az enumerálást azonban alaphelyzetbe állíthatja, így a kurzort visszateheti a lista elejére a következő meghívásával : .>

A hálózaton nincsenek meghatározott sorrendben az üzenetsorok. Az enumerátorok nem rendelik meg őket, például számítógép, címke, nyilvános vagy privát állapot, vagy bármilyen más akadálymentes feltétel alapján.

Ha a hálózat üzenetsorainak statikus pillanatképét szeretné megjeleníteni a dinamikus kapcsolat helyett, adja meg a feltételeket a híváshoz vagy a híváshoz GetPublicQueuesGetPrivateQueuesByMachine(String). A két metódus mindegyike egy objektumtömböt MessageQueue ad vissza, amely a metódus meghívásakor az üzenetsorokat jelöli. A hívás , vagy ugyanazt az eredményt adja meg, mint a hívásGetPublicQueuesByCategory(Guid), és a szűrési GetPublicQueuesByLabel(String)GetPublicQueuesByMachine(String)GetPublicQueuesfeltételekkel.CategoryLabelMachineName

Az alábbi táblázat azt mutatja be, hogy ez a módszer elérhető-e különböző munkacsoport-módban.

Munkacsoport mód Elérhető
Helyi számítógép No
Helyi számítógép és közvetlen formátum neve No
Távoli számítógép No
Távoli számítógép és közvetlen formátum neve No

Lásd még

A következőre érvényes: