Bagikan melalui


MessageQueue.GetMessageQueueEnumerator Metode

Definisi

Membuat objek enumerator untuk daftar dinamis antrean publik di jaringan.

Overload

GetMessageQueueEnumerator()

Menyediakan semantik kursor hanya maju untuk menghitung melalui semua antrean publik di jaringan.

GetMessageQueueEnumerator(MessageQueueCriteria)

Menyediakan semantik kursor terusan-saja untuk menghitung semua antrean publik pada jaringan yang memenuhi kriteria yang ditentukan.

GetMessageQueueEnumerator()

Menyediakan semantik kursor hanya maju untuk menghitung melalui semua antrean publik di jaringan.

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

Mengembalikan

MessageQueueEnumerator yang menyediakan daftar dinamis semua antrean pesan publik di jaringan.

Contoh

Contoh kode berikut melakukan iterasi melalui semua antrean pesan di jaringan, dan memeriksa jalur untuk setiap antrean. Terakhir, ini menampilkan jumlah antrean publik di jaringan.

#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

Keterangan

Kelebihan beban GetMessageQueueEnumerator ini mengembalikan enumerasi semua antrean publik yang ada di jaringan.

Karena kursor dikaitkan dengan daftar dinamis, enumerasi mencerminkan modifikasi apa pun yang Anda buat pada daftar antrean untuk antrean yang dihapus atau ditambahkan di luar posisi kursor saat ini. Penambahan atau penghapusan antrean yang terletak sebelum posisi kursor saat ini tidak tercermin. Misalnya, enumerator dapat secara otomatis mengakses antrean yang ditambahkan di luar posisi kursor tetapi tidak satu pun yang disisipkan sebelum posisi tersebut. Namun, Anda dapat mengatur ulang enumerasi, sehingga memindahkan kursor kembali ke awal daftar, dengan memanggil ResetMessageQueueEnumerator.

Tidak ada urutan antrean yang ditentukan dalam jaringan. Enumerator tidak mengurutkannya, misalnya, dengan komputer, label, status publik atau privat, atau kriteria lain yang dapat diakses.

Jika Anda menginginkan rekam jepret statis dari antrean di jaringan daripada koneksi dinamis ke antrean tersebut, panggil GetPublicQueues atau GetPrivateQueuesByMachine(String). Masing-masing dari kedua metode ini mengembalikan array MessageQueue objek, yang mewakili antrean pada saat metode dipanggil.

Tabel berikut menunjukkan apakah metode ini tersedia dalam berbagai mode Grup Kerja.

Mode grup kerja Tersedia
Komputer lokal Tidak
Komputer lokal dan nama format langsung Tidak
Komputer jarak jauh Tidak
Komputer jarak jauh dan nama format langsung Tidak

Lihat juga

Berlaku untuk

GetMessageQueueEnumerator(MessageQueueCriteria)

Menyediakan semantik kursor terusan-saja untuk menghitung semua antrean publik pada jaringan yang memenuhi kriteria yang ditentukan.

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

Parameter

criteria
MessageQueueCriteria

MessageQueueCriteria yang berisi kriteria yang digunakan untuk memfilter antrean pesan yang tersedia.

Mengembalikan

MessageQueueEnumerator yang menyediakan daftar dinamis antrean pesan publik pada jaringan yang memenuhi batasan yang ditentukan oleh criteria parameter .

Contoh

Contoh kode berikut melakukan iterasi melalui antrean pesan dan menampilkan jalur setiap antrean yang dibuat pada hari terakhir dan yang ada di komputer "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

Keterangan

Kelebihan beban GetMessageQueueEnumerator ini mengembalikan daftar semua antrean publik pada jaringan yang memenuhi kriteria yang ditentukan dalam kriteria aplikasi. Anda dapat menentukan kriteria yang akan disertakan, misalnya, waktu pembuatan atau modifikasi antrean, nama komputer, label, kategori, atau kombinasi apa pun dari ini.

Karena kursor dikaitkan dengan daftar dinamis, enumerasi mencerminkan modifikasi apa pun yang Anda lakukan pada antrean yang terjadi di luar posisi kursor saat ini. Perubahan pada antrean yang terletak sebelum posisi kursor saat ini tidak tercermin. Misalnya, enumerator dapat secara otomatis mengakses antrean yang ditambahkan di luar posisi kursor tetapi tidak satu pun yang disisipkan sebelum posisi tersebut. Namun, Anda dapat mengatur ulang enumerasi, sehingga memindahkan kursor kembali ke awal daftar, dengan memanggil ResetMessageQueueEnumerator.

Tidak ada urutan antrean yang ditentukan dalam jaringan. Enumerator tidak mengurutkannya, misalnya, dengan komputer, label, status publik atau privat, atau kriteria lain yang dapat diakses.

Jika Anda menginginkan rekam jepret statis dari antrean di jaringan daripada koneksi dinamis ke antrean tersebut, tentukan kriteria untuk GetPublicQueues atau panggil GetPrivateQueuesByMachine(String). Masing-masing dari kedua metode ini mengembalikan array MessageQueue objek, yang mewakili antrean pada saat metode dipanggil. Memanggil GetPublicQueuesByCategory(Guid), , atau GetPublicQueuesByMachine(String) memberikan hasil yang sama seperti memanggil GetPublicQueues dengan kriteria pemfilteran Category, , Labeldan MachineName, GetPublicQueuesByLabel(String)masing-masing.

Tabel berikut menunjukkan apakah metode ini tersedia dalam berbagai mode Grup Kerja.

Mode grup kerja Tersedia
Komputer lokal Tidak
Komputer lokal dan nama format langsung Tidak
Komputer jarak jauh Tidak
Komputer jarak jauh dan nama format langsung Tidak

Lihat juga

Berlaku untuk