MessageQueue.GetMessageQueueEnumerator Yöntem

Tanım

Ağdaki genel kuyrukların dinamik listesi için bir numaralandırıcı nesnesi oluşturur.

Aşırı Yüklemeler

GetMessageQueueEnumerator()

Ağdaki tüm genel kuyrukları listelemek için yalnızca ileriye dönük imleç semantiği sağlar.

GetMessageQueueEnumerator(MessageQueueCriteria)

Ağdaki belirtilen ölçütlere uyan tüm genel kuyrukları listelemek için yalnızca ileriye dönük imleç semantiği sağlar.

GetMessageQueueEnumerator()

Ağdaki tüm genel kuyrukları listelemek için yalnızca ileriye dönük imleç semantiği sağlar.

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

Döndürülenler

MessageQueueEnumerator Ağdaki tüm genel ileti kuyruklarının dinamik bir listesini sağlayan.

Örnekler

Aşağıdaki kod örneği, ağdaki tüm ileti kuyruklarında yinelenir ve her kuyruğun yolunu inceler. Son olarak, ağdaki genel kuyrukların sayısını görüntüler.

#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

Açıklamalar

öğesinin GetMessageQueueEnumerator bu aşırı yüklemesi, ağdaki tüm genel kuyrukların bir numaralandırmasını döndürür.

İmleç dinamik bir listeyle ilişkilendirildiğinden, sabit listesi silinen veya imlecin geçerli konumunun ötesine eklenen kuyruklar için bir kuyruk listesinde yaptığınız değişiklikleri yansıtır. İmlecin geçerli konumundan önce yer alan kuyrukların eklenmesi veya silinmesi yansıtılmaz. Örneğin, numaralandırıcı imleç konumunun ötesine eklenmiş bir kuyruğa otomatik olarak erişebilir, ancak bu konumdan önce eklenen kuyruğa erişemez. Ancak, sabit listesini sıfırlayabilir, böylece imlecini çağırarak ResetMessageQueueEnumeratorlistenin başına geri taşıyabilirsiniz.

Ağdaki kuyrukların tanımlı sırası yoktur. Numaralandırıcı bunları bilgisayar, etiket, genel veya özel durum veya diğer erişilebilir ölçütlere göre sıralamaz.

Ağ üzerindeki kuyrukların dinamik bir bağlantı yerine statik anlık görüntüsünü istiyorsanız veya GetPrivateQueuesByMachine(String)öğesini çağırınGetPublicQueues. Bu iki yöntemin her biri, yöntemin MessageQueue çağrıldığı sırada kuyrukları temsil eden bir nesne dizisi döndürür.

Aşağıdaki tabloda bu yöntemin çeşitli Çalışma Grubu modlarında kullanılabilir olup olmadığı gösterilmektedir.

Çalışma grubu modu Kullanılabilir
Yerel bilgisayar No
Yerel bilgisayar ve doğrudan biçim adı No
Uzak bilgisayar No
Uzak bilgisayar ve doğrudan biçim adı No

Ayrıca bkz.

Şunlara uygulanır

GetMessageQueueEnumerator(MessageQueueCriteria)

Ağdaki belirtilen ölçütlere uyan tüm genel kuyrukları listelemek için yalnızca ileriye dönük imleç semantiği sağlar.

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

Parametreler

criteria
MessageQueueCriteria

MessageQueueCriteria Kullanılabilir ileti kuyruklarını filtrelemek için kullanılan ölçütleri içeren.

Döndürülenler

MessageQueueEnumerator parametresi tarafından criteria belirtilen kısıtlamaları karşılayan ağdaki genel ileti kuyruklarının dinamik bir listesini sağlayan.

Örnekler

Aşağıdaki kod örneği ileti kuyruklarında yinelenir ve son gün içinde oluşturulan ve "Bilgisayarım" bilgisayarında bulunan her kuyruğun yolunu görüntüler.

#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

Açıklamalar

bu aşırı yüklemesi GetMessageQueueEnumerator , uygulama ölçütlerinde tanımlanan ölçütleri karşılayan ağdaki tüm genel kuyrukların listesini döndürür. Kuyruk oluşturma veya değiştirme zamanı, bilgisayar adı, etiket, kategori veya bunların herhangi bir bileşimi gibi ölçütleri belirtebilirsiniz.

İmleç dinamik bir listeyle ilişkilendirildiğinden, sabit listesi imlecin geçerli konumunu aşan bir kuyrukta yaptığınız değişiklikleri yansıtır. İmlecin geçerli konumundan önce yer alan kuyruklarda yapılan değişiklikler yansıtılmaz. Örneğin, numaralandırıcı imleç konumunun ötesine eklenmiş bir kuyruğa otomatik olarak erişebilir, ancak bu konumdan önce eklenen kuyruğa erişemez. Ancak, sabit listesini sıfırlayabilir, böylece imlecini çağırarak ResetMessageQueueEnumeratorlistenin başına geri taşıyabilirsiniz.

Ağdaki kuyrukların tanımlı sırası yoktur. Numaralandırıcı bunları bilgisayar, etiket, genel veya özel durum veya diğer erişilebilir ölçütlere göre sıralamaz.

Ağ üzerindeki kuyrukların dinamik bir bağlantı yerine statik anlık görüntüsünü istiyorsanız, için GetPublicQueues ölçüt belirtin veya öğesini çağırın GetPrivateQueuesByMachine(String). Bu iki yöntemin her biri, yöntemin MessageQueue çağrıldığı sırada kuyrukları temsil eden bir nesne dizisi döndürür. GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)veya GetPublicQueuesByMachine(String) çağrısı, sırasıyla , Labelve MachineNamefiltre ölçütleriyle Categoryçağırmayla GetPublicQueues aynı sonuçları sağlar.

Aşağıdaki tabloda bu yöntemin çeşitli Çalışma Grubu modlarında kullanılabilir olup olmadığı gösterilmektedir.

Çalışma grubu modu Kullanılabilir
Yerel bilgisayar No
Yerel bilgisayar ve doğrudan biçim adı No
Uzak bilgisayar No
Uzak bilgisayar ve doğrudan biçim adı No

Ayrıca bkz.

Şunlara uygulanır