Udostępnij za pośrednictwem


MessageQueueEnumerator Klasa

Definicja

Udostępnia kursor tylko do przodu, aby wyliczyć komunikaty w kolejce komunikatów.

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
Dziedziczenie
MessageQueueEnumerator
Implementuje

Przykłady

Poniższy przykład kodu wykonuje iterację po wszystkich kolejkach komunikatów w sieci i analizuje ścieżkę dla każdej kolejki. Na koniec wyświetla liczbę kolejek publicznych w sieci.

#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

Uwagi

Służy MessageQueueEnumerator do dynamicznej interakcji z kolejkami w sieci. Metody dostępne za pośrednictwem MessageQueue klasy mogą zwracać MessageQueueEnumerator dynamiczną listę kolejek lub tablicę zawierającą migawkę kolekcji kolejek w momencie wywołania określonej metody.

W sieci nie ma zdefiniowanej kolejności kolejek. Nie są one uporządkowane, na przykład według komputera, etykiety, stanu publicznego lub prywatnego ani innych kryteriów dostępnych dla użytkownika. Obiekt MessageQueueEnumerator to kursor zainicjowany na czele listy dynamicznej. Kursor można przenieść do pierwszej kolejki wyliczenia, wywołując funkcję MoveNext. Po zainicjowaniu modułu wyliczającego można MoveNext przejść do przodu przez pozostałe kolejki.

Nie można cofnąć się do tyłu za pomocą funkcji MessageQueueEnumerator. Kursor zezwala tylko na ruch do przodu przez wyliczenie kolejki. Można jednak wywołać Reset polecenie , aby zresetować wyliczenie i ponownie umieścić kursor na początku listy. Ponieważ moduł wyliczający jest dynamiczny, kolejka dołączona poza bieżącą pozycją kursora może być dostępna przez moduł wyliczający. Nie można uzyskać dostępu do kolejki wstawionej przed uzyskaniem dostępu do bieżącego położenia kursora bez uprzedniego wywołania funkcji Resetuj.

Właściwości

Current

Pobiera bieżący MessageQueue wyliczenie.

LocatorHandle

Pobiera natywny uchwyt kolejkowania komunikatów używany do lokalizowania kolejek w sieci.

Metody

Close()

Zwalnia zasoby skojarzone z modułem wyliczania.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element MessageQueueEnumerator.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element MessageQueueEnumerator i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby przechowywane przez kolejkę.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
MoveNext()

Rozwija moduł wyliczający do następnej kolejki wyliczenia, jeśli jest on obecnie dostępny.

Reset()

Resetuje kursor, więc wskazuje na początek wyliczenia.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IEnumerator.Current

Pobiera bieżący MessageQueue wyliczenie.

Dotyczy

Zobacz też