MessageQueueEnumerator Sınıf

Tanım

İleti kuyruğundaki iletileri listelemek için yalnızca ileriye doğru bir imleç sağlar.

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
Devralma
MessageQueueEnumerator
Uygulamalar

Ö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

Ağdaki kuyruklarla dinamik etkileşim için kullanın MessageQueueEnumerator . sınıfı aracılığıyla MessageQueue kullanılabilen yöntemler, sıraların dinamik listesini içeren bir MessageQueueEnumerator veya belirtilen yöntemin çağrıldığı sırada kuyruk koleksiyonunun anlık görüntüsünü içeren bir dizi döndürebilir.

Ağdaki kuyrukların tanımlı sırası yoktur. Bunlar, örneğin bilgisayar, etiket, genel veya özel durum ya da kullanıcı tarafından erişilebilen diğer ölçütlere göre sıralanmaz. A MessageQueueEnumerator , dinamik listenin başına başlatılan bir imleçtir. öğesini çağırarak MoveNextimleci numaralandırmanın ilk kuyruğuna taşıyabilirsiniz. Numaralandırıcı başlatıldıktan sonra, kalan kuyruklarda ilerlemek için komutunu kullanabilirsiniz MoveNext .

ile MessageQueueEnumeratorgeri gitmek mümkün değildir. İmleç yalnızca kuyruk numaralandırması üzerinden ileriye doğru taşımaya izin verir. Ancak, numaralandırmayı sıfırlamak için öğesini çağırabilir Reset ve imleci listenin başına yeniden yerleştirebilirsiniz. Numaralandırıcı dinamik olduğundan, imlecin geçerli konumunun ötesine eklenen kuyruğa numaralandırıcı tarafından erişilebilir. İmlecin geçerli konumundan önce eklenen kuyruğa önce Reset çağrılmadan erişilemez.

Özellikler

Current

Numaralandırmanın geçerli MessageQueue değerini alır.

LocatorHandle

Ağdaki kuyrukları bulmak için kullanılan yerel Message Queuing tutamacını alır.

Yöntemler

Close()

Numaralandırıcıyla ilişkili kaynakları serbest sağlar.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

MessageQueueEnumerator tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

MessageQueueEnumerator tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Finalize()

Kuyrukta tutulan kaynakları serbest bırakır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
MoveNext()

Şu anda varsa, numaralandırıcıyı numaralandırmanın bir sonraki kuyruğuna ilerler.

Reset()

İmleci sıfırlar, böylece numaralandırmanın başlangıcına işaret eder.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IEnumerator.Current

Numaralandırmanın geçerli MessageQueue değerini alır.

Şunlara uygulanır

Ayrıca bkz.